На моей странице игр у меня есть страница, где они играют в игру. На этой странице у меня есть запрос
$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')");
Который зарегистрирует его в моей базе данных, он просто сидит сам по себе, и когда я обновляю страницу, он по какой-то причине отправляется в базу данных дважды.
Я совершенно новичок в php, поэтому, если кто-то может дать приятную обратную связь, не давая мне злоупотребления. Это было бы намного оправданным.
Логика вашего фронтального контроллера неверна.
Страница, на которой выполняется этот запрос, вызывается при каждом запросе, сделанном на ваш сайт. Поэтому следите за дополнительными запросами в своем браузере (это наверняка будет favicon.ico).
А затем измените логику переднего контроллера, чтобы он не запускал приложение для недопустимых запросов. В противном случае, когда сайт будет жить, в нем не будет ни одной, а тысячи ложных вставок.
каковы условия на странице, для которой выполняется запрос или каким-либо образом, как значения переменной, которую вы получаете на странице, для выполнения запроса, если это так, чем сначала проверить существование переменных, если переменные установлены, чем запускать запрос.
У меня возникли проблемы с запросом, который дважды выполнялся в Firefox, но в других баузерах (Chrome и IE) проблема не возникала. Я искал ответ и нашел этот пост.
Я обнаружил это:
Если я выполняю простой запрос вставки, он дважды вставлен, когда я включаю «сетевую» функциональность в Firebug, этого не происходит. Странный. Просто хотел добавить это в этот пост. Все еще пытаюсь решить это.
{edit} Обновление: я нашел решения, хотя это не очень красиво. Сначала я проверяю выбор счетчика, если такая запись существует, если нет, то она будет вставлена, иначе это не будет. Это трюк для меня.