doublons 'a la réactualisation de la page

Ce sujet est résolu
Default
,

bonjour, j'ai crée un formulaire avec son traitement sur la meme page. Si je soumet le formulaire apres reactualisation j'obtiens 2 soumissions ,
j'ai fais les recherche j'ai trouver ca :https://stackoverflow.com/questions/18017551/post-redirect-get-get-how. mais je ne comprends pas trop. merci

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

Entourez votre code pour bien le mettre en forme

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

4 Réponse

Default
,

Bonjour,

la première réponse te dit de faire 3 pages :

  • page1 : une page de présentation du formulaire (action = page2 dans ta balise form)
  • page2 : une page de traitement du formulaire avec redirection en fin de traitement vers la page 3 via l'instruction header("Location: page3")
  • page3 : affichage de remerciement pour avoir soumis par exemple (ça peut aussi être page1...) au final, l'utilisateur est sur la page 3, sans les infos de POST, donc un F5 ne renverra aucune donnée.

sur la seconde réponse : l'utilisateur propose de faire une redirection vers la page courante après le traitement du post, ce qui fait que les infos du POST sont perdues, et le F5 ne renvoie pas non plus les données.

Après, si tu veux vraiment blinder pour éviter un double post, il faut regarder du côté de JS côté client, et mettre des protections supplémentaires côté serveur pour éviter le double insert avec des critères adaptés à ta requête d'insertion

40917
,

Bonjour,
A la fin de ton traitement, tu fais une redirection sur la même page (header + Location). Cela videra $_POST/$_GET et n'aura plus se problème d'actualisation

Default
,

ah oui ca ne sera pas sous forme de boucle? je vais essayer... merci

Default
,

parfait merci