Pb actualisation dans mini chat
lloyd
-
lloyd -
lloyd -
Bonjour,
je suis en train d'apprendre le langage php/mysql (sur le site du zéro) afin de créer mon site.
j'ai crée un "mini chat", qui fonctionne bien mis à part un petit soucis :
lorsqu'un message a été saisi et que je fais actualisé la page, ce message est récrit come s'il avait été posté une seconde fois, idem si j'actualise un autre fois, il estt recopié une troisieme fois, etc....
je ne vois pas ce qu'il faut ajouter au code pour empecher ceci
j'espere que vous pourrez m'aider, merci d'avance
je suis en train d'apprendre le langage php/mysql (sur le site du zéro) afin de créer mon site.
j'ai crée un "mini chat", qui fonctionne bien mis à part un petit soucis :
lorsqu'un message a été saisi et que je fais actualisé la page, ce message est récrit come s'il avait été posté une seconde fois, idem si j'actualise un autre fois, il estt recopié une troisieme fois, etc....
je ne vois pas ce qu'il faut ajouter au code pour empecher ceci
j'espere que vous pourrez m'aider, merci d'avance
A voir également:
- Pb actualisation dans mini chat
- Coco chat - Accueil - Réseaux sociaux
- Opera mini pc - Télécharger - Navigateurs
- Chat engine - Télécharger - Outils Internet
- Fermeture de Coco : les internautes à la recherche d'un remplaçant - Accueil - Réseaux sociaux
- Chat tubidy - Télécharger - Outils Internet
13 réponses
Bonjour,
Dans le tp que réalise M@teo21, il te donne la solution lui même a la fin dans: Étape 5 : améliorez ce script !.
En gros il dit qu'avant d'enregistrer le nouveau message, tu dois vérifier qu'il n' est pas identique au dernier message enregistré.
Je ne te cache pas que si tu reload la page et que si quelqu'un à envoyer un nouveau message entre temps le message sera a nouveau enregistré
A toi de trouver une solution à ce petit problème :)
Bonne journée.
Dans le tp que réalise M@teo21, il te donne la solution lui même a la fin dans: Étape 5 : améliorez ce script !.
En gros il dit qu'avant d'enregistrer le nouveau message, tu dois vérifier qu'il n' est pas identique au dernier message enregistré.
Je ne te cache pas que si tu reload la page et que si quelqu'un à envoyer un nouveau message entre temps le message sera a nouveau enregistré
A toi de trouver une solution à ce petit problème :)
Bonne journée.
Salut,
Est-ce que tu a réussis à savoir si le dernier message est déjà dans la basse de données ou tu bloque déjà a cette étape?
Bonne journée !
Est-ce que tu a réussis à savoir si le dernier message est déjà dans la basse de données ou tu bloque déjà a cette étape?
Bonne journée !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
euh je ne suis pas certain de bien comprendre,
mais une fois le message posté, il va dans la base de donnée, puis j'affiche les derniers messages
ensuite si j'actualise, le dernier message est a nouveau rentré dans la base de données (donc en double)
le pb est donc la :
je pense qu'il doit y avoir plusieurs facons de proceder. Est-il plus rapide :
-de faire un test pour savoir si le dernier message est deja ds la base de données ?
-ou bien est-il possible de faire un truc du genre $_POST['pseudo'] = null; $_POST['message'] = null; ??
a+
mais une fois le message posté, il va dans la base de donnée, puis j'affiche les derniers messages
ensuite si j'actualise, le dernier message est a nouveau rentré dans la base de données (donc en double)
le pb est donc la :
je pense qu'il doit y avoir plusieurs facons de proceder. Est-il plus rapide :
-de faire un test pour savoir si le dernier message est deja ds la base de données ?
-ou bien est-il possible de faire un truc du genre $_POST['pseudo'] = null; $_POST['message'] = null; ??
a+
j'ai partiellement résolu le pb :
j'ai choisi la 1ere solution evoqué dans le post ci dessus, cependant, qd je fais reactualiser la page, il y a qd mm une boite de dialogue qui s'affiche, me disant : "la page que vous tentez de voir contient des donnees envoyees par post...."
cmt faire pour que ce message ne s'affiche plus, cad en qques sortes "vider le _POST" ??
j'ai choisi la 1ere solution evoqué dans le post ci dessus, cependant, qd je fais reactualiser la page, il y a qd mm une boite de dialogue qui s'affiche, me disant : "la page que vous tentez de voir contient des donnees envoyees par post...."
cmt faire pour que ce message ne s'affiche plus, cad en qques sortes "vider le _POST" ??
Coucou,
Moi je regarderais dans la base de données si ton message est déjà dedans, âpres ce n'est que mon avis personnel.
En gros tu aurais une requête qui prendrais le dernier message enregistré, tu vérifie si il correspond au message qui va être enregistré. En dépendant de la vérification sois tu l'enregistre soit tu affiche a nouveau la page sans rien modifier.
Bonne journée.
Moi je regarderais dans la base de données si ton message est déjà dedans, âpres ce n'est que mon avis personnel.
En gros tu aurais une requête qui prendrais le dernier message enregistré, tu vérifie si il correspond au message qui va être enregistré. En dépendant de la vérification sois tu l'enregistre soit tu affiche a nouveau la page sans rien modifier.
Bonne journée.
ok merci c ce que j'ai fait (cf mon dernier message ;)
mais j'ai tjs le pb de la fenetre qui s'affiche a la reacualisation et qui me dit : "la page que vous tentez de voir contient des donnees envoyees par post...."
cmt faire donc pour qu'il n'y ait plus rien ds le _POST['pseudo'] et le _POST['message'] ?? pour les ecraser et supprimer en fait ?
bonne journée aussi =)
mais j'ai tjs le pb de la fenetre qui s'affiche a la reacualisation et qui me dit : "la page que vous tentez de voir contient des donnees envoyees par post...."
cmt faire donc pour qu'il n'y ait plus rien ds le _POST['pseudo'] et le _POST['message'] ?? pour les ecraser et supprimer en fait ?
bonne journée aussi =)
Je te conseille de tester plusieurs choses:
-la fonction unset($_POST['pseudo']);
-de définir la variable $_POST['pseudo'] = '';
Je ne sais pas trop si les solutions que je vient de te donner sont correcte.
Voila, a toute :)
-la fonction unset($_POST['pseudo']);
-de définir la variable $_POST['pseudo'] = '';
Je ne sais pas trop si les solutions que je vient de te donner sont correcte.
Voila, a toute :)