PHP ngăn gửi biểu mẫu trùng lặp

Ở nhiều trang web gửi dữ liệu biểu mẫu, rất dễ gặp phải tình huống người dùng quay lại trang trước khi biểu mẫu được gửi qua nút quay lại của trình duyệt và sau đó gửi biểu mẫu nhiều lần

Để tránh gửi dữ liệu trùng lặp, bạn có thể sử dụng JavaScript để thêm một đoạn mã đơn giản bên trong thẻ đầu của trang web để vô hiệu hóa trình duyệt ghi lại lịch sử

JavaScript:window.history.forward[1];

Sau đó, trình duyệt có thể bị vô hiệu hóa việc ghi lại lịch sử của trang trước để ngăn người dùng gửi dữ liệu trùng lặp

Phiên PHP có thể được sử dụng để ngăn nhiều lần chèn khi gửi biểu mẫu. Phiên PHP đặt biến phiên [giả sử $_SESSION['posttimer']] đặt dấu thời gian hiện tại trên POST. Trước khi xử lý biểu mẫu trong PHP, biến $_SESSION['posttimer'] được kiểm tra sự tồn tại của nó và kiểm tra sự khác biệt về dấu thời gian cụ thể [giả sử 2 hoặc 3 giây]. Bằng cách này, những phần chèn thực sự trùng lặp có thể được xác định và loại bỏ

hình thức đơn giản -

// form.html

   
   

Tham chiếu đến 'my_session_file. php' ở trên sẽ có các dòng mã bên dưới -

Thí dụ

if [isset[$_POST] && !empty[$_POST]] {
   if [isset[$_SESSION['posttimer']]] {
      if [ [time[] - $_SESSION['posttimer']] 

    
        My Form
    

    
        

Chủ Đề