Mencegah Penyerahan Duplikat dengan Pengendalian Segar Semula
Dalam pembangunan web, adalah perkara biasa untuk menghadapi isu penyerahan pendua apabila halaman dimuat semula selepas penyerahan borang. Untuk menangani perkara ini, pertimbangkan pendekatan berikut:
Bayangkan mempunyai coretan kod yang kelihatan seperti ini:
<?php if (isset($_POST['name'])) { // Database operations... echo "Operation Done"; die(); } ?> <form action='page.php' method='post' name="myForm"> <input type="text" maxlength="50" name="name">
Apabila anda menyerahkan borang ini, data yang disediakan dimasukkan ke dalam pangkalan data, dan mesej kejayaan dipaparkan. Walau bagaimanapun, jika anda memuat semula halaman, data akan diserahkan semula ke pangkalan data.
Penyelesaian: Ubah Hala Selepas Penyerahan
Untuk mengelakkan pertindihan ini, ia perlu penting bahawa selepas operasi selesai, anda tidak memaparkan respons pada halaman yang sama. Sebaliknya, ubah hala ke halaman baharu.
// Database operations... // Set success flash message. (Assuming you're using a framework) header('Location: /path/to/record'); exit;
Dengan mengubah hala selepas penyerahan, anda memastikan bahawa menyegarkan halaman hanya akan mencetuskan permintaan GET untuk halaman baharu yang anda ubah hala ke, menghalang penyerahan pendua.
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Penyerahan Pendua Selepas Muat Semula Borang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!