Penduaan Sisipan Tidak Dijangka Semasa Pemuatan Halaman
Pertimbangkan situasi pada halaman web bertemakan permainan di mana pengguna terlibat dalam pelbagai permainan. Untuk mengekalkan rekod aktiviti pengguna, pertanyaan dilaksanakan:
$insert_user_activity = mysql_query("INSERT INTO game_activity (user_id,user_full_name,game_id,game_name) values ('$user_id','$full_name','$browser_id','$game_title')");
Pertanyaan ini bertujuan untuk memasukkan baris baharu ke dalam jadual "game_activity" setiap kali pengguna melancarkan permainan. Walau bagaimanapun, pengguna menghadapi masalah apabila menyegarkan halaman permainan mengakibatkan sisipan pendua dalam pangkalan data.
Analisis dan Penyelesaian
Tingkah laku yang tidak dijangka berpunca daripada pengawal hadapan yang cacat logik. Halaman yang melaksanakan pertanyaan dipanggil semasa setiap permintaan dibuat ke tapak web, tanpa mengira kesahihannya. Ini bermakna jika pengguna memuat semula halaman permainan atau menavigasi ke sumber yang tidak wujud, pertanyaan akan tetap dilaksanakan, membawa kepada sisipan yang tidak perlu.
Untuk membetulkan isu ini, logik pengawal hadapan mesti diubah suai. Ia hanya perlu melaksanakan permohonan untuk permintaan yang sah, tidak termasuk permintaan yang tidak sah. Dengan menangani kecacatan ini, tapak akan mengelakkan banyak sisipan palsu apabila ia disiarkan secara langsung.
Atas ialah kandungan terperinci Mengapa Saya Melihat Penyertaan Pendua Selepas Menyegarkan Halaman Permainan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!