PHP : Method POST

Fermé
nounours21_6 Messages postés 255 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 21 avril 2009 - 31 janv. 2006 à 00:40
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 - 31 janv. 2006 à 20:14
Bonjour,

je développe une gestion de forum en php,
et après un envoi de message, si je fais actualiser
le message est insérer une deuxième fois!
Car je transmets mon message par la méthode POST!
Ma question est si on peut mettre 'null' ou 'false' a post pour qu'il n'insére pas une deuxième fois le message??

merci d'avance
@+ enjoy
A voir également:

3 réponses

Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
31 janv. 2006 à 12:17
En fait tu ne peux pas faire ca car ce qui se passe, c'est simple .
Tu remplis un formulaire, le valide et arrive sur ta page PhP.
Et la tu fais ton refresh,la.
Donc le soucis c'est que tu réenvoi les mêmes données à ta page et donc ca ré éxécute le script et réinserre...

Au pire si c'est un truc automatique que tu ne peux pas changer car c'est la mort qui tue de le faire, bien tu peux toujours au préalable sélectionner le dernier enregistrement inséré dans la table afin de comparer avec les valeurs que tu vas inserer TOI.


Voilà :D

Bon Courage
0
nounours21_6 Messages postés 255 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 21 avril 2009 2
31 janv. 2006 à 19:39
oki, merci,

c'était justement la solution que je voulais évité car je ne la trouvée pas trés prope...
mais bon, je vais m'y collé...

enjoy @+
0
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 507
31 janv. 2006 à 20:14
Salut,
Tu peux aussi utiliser une redirection, principe :
page 1 : contient le formulaire -> post vers page 2
page 2 : traite le post (sans affichage) et redirige vers page 3
page 3 : affiche le résultat

Dans le principe tu découpes les traitements de la page traitant le POST en 2
étapes : page 2 et 3
La page 2 fait les insert dans la bd
La page 3 fait les affichages.
Pour faire la redirection, en PHP, il faut faire aucun affichage dans la page et
avant la fin d'exécution appeler :
header( "Location: url_de_la_page_3") ;

Normalement plus de problème de 'actualiser'.
A+, crabs
0