Comment éviter : F5 => Formulaire resoumis [PHP] - PHP - Programmation
Marsh Posté le 30-12-2003 à 00:36:10
C'est pour ça qu'ici quand tu postes un messages il y a une page intermédiaire "votre message a été validé" je suppose... Tu peux toujours t'en inspirer
Sinon tu peux faire une redirection vers la page d'arrivée avec un header('location: ...')
Marsh Posté le 30-12-2003 à 00:46:15
c'est le problème lorsque l'utilisateur fait un back sur son navigateur. la solution est simple. au lieu de faire un fichier de formulaire qui envoie vers un fichier d'insertion bdd et affichage, il faut faire 3 fichiers. quand tu as inséré tu redirige simplement vers la page d'affichage
Marsh Posté le 30-12-2003 à 09:29:03
avec des jetons
tu generes un jeton pour l'utilisateur à l'arrivée sur le formulaire. et tu le de detruit quand tu moulines les infos du formulaire. si l'utilisateur fait un refresh : pas de jeton -> DTC
bon après, fo affiner. verifier par ex. que le jeton utilisé appartient bien à l'utilisateur qui s'en sert où qu'il à bien été generé pour le formulaire en cours.
Marsh Posté le 30-12-2003 à 09:40:45
elle est où la fente pour le jeton ?
Edit: ouais, je sais,
Marsh Posté le 30-12-2003 à 09:48:36
Ou tu mets à la génération de la page avec le formulaire un champ caché avec un identifiant unique, et si cet identifiant a déjà été envoyé tu ne prends pas en compte le POST suivant...
Marsh Posté le 30-12-2003 à 10:07:14
schimz a écrit : avec des jetons |
j'avoue que je n'ai pas bien compris : il se matérialise comment ton jeton ?
merci pour votre aide en tous cas
Marsh Posté le 30-12-2003 à 10:21:31
Lex a écrit : |
ah bah c'est toi qui vois hein !
par les sessions, par une BdD, en dur ds le code html (bof) ou par cookies (re-bof)
si l'utilisateur est indentifié en BdD, un champ ds la table user ou mieux, une table jeton (pour gerer plusieurs jetons en même temps pour un utilisateur). sinon si l'utilisateur est anonyme : avec les sessions PHP.
Marsh Posté le 30-12-2003 à 10:25:55
ah ok je vois mieux ! en effet, une session PHP me parrait plus adaptée merchi
Marsh Posté le 30-12-2003 à 00:11:19
Voilà le pb que je rencontre : j'ai un formulaire pour insérer des données dans une BD. Si l'utilisateur le soumet, puis sur la page d'arrivée il fait F5 pour rafraichir la page, le formulaire est resoumis avec les mêmes données d'où double insertion ... commen l'éviter ? merci.