Masalah:
Pada halaman permainan tempat pengguna bermain permainan, pertanyaan sisipan ialah dilaksanakan untuk log data ke dalam pangkalan data. Walau bagaimanapun, pertanyaan itu nampaknya dihantar dua kali setiap kali halaman dimuat semula.
$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')");
Penjelasan:
Masalahnya terletak pada logik pengawal hadapan. Halaman yang mengandungi pertanyaan sedang digunakan bukan sahaja untuk permintaan yang sah tetapi juga untuk permintaan yang tidak sah. Ini adalah isu biasa apabila mereka bentuk pengawal hadapan untuk aplikasi web.
Untuk mengelakkan sisipan berbilang, logik pengawal hadapan mesti mengendalikan permintaan tidak sah secara berbeza untuk memastikan aplikasi tidak dilaksanakan untuk permintaan sedemikian. Jika tidak, banyak sisipan yang tidak perlu mungkin berlaku apabila tapak dilancarkan.
Atas ialah kandungan terperinci Mengapa pertanyaan sisipan saya dilaksanakan dua kali setiap kali halaman dimuat semula?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!