Rumah > Artikel > pembangunan bahagian belakang > Teknologi anti goncang PHP praktikal: elakkan penyerahan data berulang
Teknologi anti goncang PHP praktikal: elakkan penyerahan data berulang
Dalam pembangunan web, kami sering menghadapi senario yang memerlukan pengguna menyerahkan data. Jika pengguna mengklik butang hantar beberapa kali dalam tempoh yang singkat, data mungkin dihantar berulang kali, menyebabkan masalah yang tidak perlu kepada sistem dan pengguna. Untuk menyelesaikan masalah ini, kita boleh menggunakan teknologi anti goncang PHP untuk mengelakkan data dihantar berulang kali. Artikel ini akan memberikan contoh kod khusus untuk membantu pembaca melaksanakan teknologi anti goncang PHP.
Prinsip teknologi anti goncang PHP adalah untuk menyimpan data yang diserahkan apabila mengklik butang hantar, dan kemudian dalam selang masa tertentu, jika pengguna mengklik butang itu sekali lagi, ia akan dinilai sebagai penyerahan berulang. Berikut ialah contoh kod khusus:
session_start(); function debounce($key, $time) { // 获取最后一次提交的时间 $lastSubmit = isset($_SESSION[$key]) ? $_SESSION[$key] : 0; // 判断距离最后一次提交的时间是否大于指定的时间间隔 if (time() - $lastSubmit < $time) { return true; // 重复提交 } else { $_SESSION[$key] = time(); // 更新最后一次提交的时间 return false; // 非重复提交 } } // 获取提交的数据 $data = $_POST['data']; // 判断是否为重复提交 if (debounce('submit_key', 3)) { echo '请勿重复提交数据!'; } else { // 处理提交的数据 // ... echo '数据提交成功!'; }
Dalam kod di atas, kami menggunakan debounce
menerima dua parameter: $key
digunakan untuk mengenal pasti tindakan penyerahan yang berbeza dan $time
menentukan selang masa. Jika masa sejak penyerahan terakhir kurang daripada selang masa yang ditentukan, ia dinilai sebagai penyerahan berulang jika tidak, masa penyerahan terakhir dikemas kini. $_SESSION
来保存最后一次提交的时间。debounce
函数接受两个参数:$key
用于标识不同的提交动作,$time
指定时间间隔。如果距离最后一次提交的时间小于指定的时间间隔,则判断为重复提交;否则更新最后一次提交的时间。
在实际应用中,我们可以根据需要在提交表单的页面中调用 debounce
函数,传递不同的 $key
和 $time
debounce
dalam halaman di mana borang diserahkan mengikut keperluan, menghantar $key
dan $time
yang berbeza > Buat tetapan anti-goncang. Selain menggunakan teknologi anti goncang PHP, kami juga boleh menggunakan teknologi hadapan untuk mengelakkan penyerahan data berulang. Sebagai contoh, lumpuhkan butang selepas mengklik butang hantar, dan kemudian dayakan butang sehingga penyerahan data selesai. Dengan cara ini, walaupun pengguna mengklik butang beberapa kali, ia tidak akan menyebabkan masalah penyerahan berulang. Ringkasnya, teknologi anti goncang PHP ialah cara yang berkesan untuk mengelakkan penyerahan data berulang. Dengan merekodkan masa penyerahan terakhir semasa menyerahkan data dan menetapkan selang masa, pengguna boleh mengelakkan klik berulang pada tahap tertentu. Pada masa yang sama, kami juga boleh menggabungkan teknologi bahagian hadapan untuk melakukan beberapa interaksi pada antara muka untuk membantu pengguna mengelak daripada menghantar data berulang kali. Saya harap contoh kod dalam artikel ini akan membantu pembaca dalam pembangunan sebenar! 🎜Atas ialah kandungan terperinci Teknologi anti goncang PHP praktikal: elakkan penyerahan data berulang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!