Menghalang Penyerahan Semula Borang pada Muat Semula Halaman
Borang anda menghadapi isu penyerahan data pendua semasa muat semula halaman, senario biasa yang boleh merosakkan pangkalan data entri. Untuk menangani perkara ini, anda mencari penyelesaian yang mengekalkan halaman semasa sambil menghalang penyerahan semula.
Satu kaedah melibatkan penggunaan pengecam sesi unik untuk setiap pengguna. Pengecam ini boleh dibandingkan dengan nilai yang disimpan, menghalang penyerahan pendua. Walau bagaimanapun, pelaksanaan khusus pendekatan ini tidak tersedia dengan serta-merta.
Sebagai alternatif, anda boleh memanfaatkan JavaScript's window.history.replaceState untuk menghalang penyerahan semula apabila halaman dimuat semula atau butang kembali digunakan. Berikut ialah coretan JavaScript yang menunjukkan perkara ini:
if ( window.history.replaceState ) { window.history.replaceState( null, null, window.location.href ); }
Kod ini menggantikan keadaan sejarah semasa dengan yang baharu yang mempunyai URL yang sama seperti halaman semasa. Akibatnya, apabila pengguna menyegarkan atau mengklik butang kembali, borang tersebut tidak diserahkan semula.
Walaupun pendekatan JavaScript ini inovatif, secara amnya disyorkan untuk menggunakan pendekatan Post/Redirect/Get (PRG). Walau bagaimanapun, kedua-dua kaedah berkesan menangani isu penyerahan semula borang apabila halaman dimuat semula.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Menghalang Penyerahan Semula Borang pada Muat Semula Halaman?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!