problème de rafraichissement forum php

problème de rafraichissement forum php - PHP - Programmation

Marsh Posté le 03-03-2004 à 21:56:25    

Salut,
 
J'ai créé un forum en php avec des topics et des messages, le message s'insère sans problème ainsi que le topic. Le problème c'est que si on fait "f5" et le message se reinsere dans la BD et donc se créé en double. Quelqu'un peut-il m'aider s'il vous plait, merci d'avance

Reply

Marsh Posté le 03-03-2004 à 21:56:25   

Reply

Marsh Posté le 04-03-2004 à 14:16:57    

il faut passer par une page intermédiaire, le principe :
page_ou_tu_ecris.php >> page_ou_tu_enregistres.php >> page_ou_tu_affiches.php

Reply

Marsh Posté le 06-03-2004 à 01:22:04    

misterpinguin a écrit :

il faut passer par une page intermédiaire, le principe :
page_ou_tu_ecris.php >> page_ou_tu_enregistres.php >> page_ou_tu_affiches.php


 
C'est pas gérable un systeme comme ca ! :o
 
L'ideal étant plutot de générer un identifiant unique en début de page, d'enregistrer cet enregistrement quelque part au moment où tu insere le message, et de ne pas inserer un message si son identifiant à deja été utilisé :wahoo:  
 
(dites moi si je me trompe, j'ai lu ca quelque part mais je n'ai pas encore eu l'occasion de tester, ceci dit le probleme m'interresse :wahoo: )
 
Y'a aussi un topic spécial "devellopeurs de forum", ils te donneront la réponse sans probleme ;)

Reply

Marsh Posté le 06-03-2004 à 13:38:22    

Le systeme de 3 pages est tout a fait gerable et realisable.
 
Tu n'as qu'a regarder comment font les forums php tels que phpbb2...
 
De plus il faut toujours verifier que le post n'as pas ete insere avant, et ceci meme avec differentes pages, ca ajoute un peu de "securite".

Reply

Marsh Posté le 06-03-2004 à 17:02:34    

+1 pour la soluce de Cerel.
 
Je trouve très propre, même s'il y a 3 fichiers, de bien séparer l'affichage, la saisie, et l'interaction avec la bdd/tests


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed