Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana Saya Boleh Menghalang Penyerahan Semula Borang pada Muat Semula Halaman?

Bagaimana Saya Boleh Menghalang Penyerahan Semula Borang pada Muat Semula Halaman?

DDD
Lepaskan: 2024-12-24 18:59:10
asal
678 orang telah melayarinya

How Can I Prevent Form Resubmission on Page Refresh?

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 );
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan