Maison  >  Article  >  base de données  >  Pourquoi est-ce que je vois des entrées en double après avoir actualisé la page du jeu ?

Pourquoi est-ce que je vois des entrées en double après avoir actualisé la page du jeu ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-31 09:50:38414parcourir

Why Am I Seeing Duplicate Entries After Refreshing the Game Page?

Duplication d'insertion inattendue lors du chargement de la page

Considérez la situation sur une page Web sur le thème du jeu où les utilisateurs participent à divers jeux. Pour conserver un enregistrement de l'activité des utilisateurs, une requête est implémentée :

$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')");

Cette requête est destinée à insérer une nouvelle ligne dans la table "game_activity" à chaque fois qu'un utilisateur lance un jeu. Cependant, les utilisateurs ont rencontré un problème où l'actualisation de la page du jeu entraînait des insertions en double dans la base de données.

Analyse et résolution

Le comportement inattendu provient d'un contrôleur frontal défectueux. logique. La page exécutant la requête est invoquée lors de chaque requête adressée au site Internet, quelle que soit sa validité. Cela signifie que si les utilisateurs actualisent la page du jeu ou naviguent vers une ressource inexistante, la requête sera quand même exécutée, entraînant des insertions inutiles.

Pour remédier à ce problème, la logique du contrôleur frontal doit être modifiée. Il ne doit exécuter l'application que pour les requêtes valides, à l'exclusion des requêtes invalides. En corrigeant cette faille, le site évitera de nombreuses fausses insertions lors de sa mise en ligne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn