Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1180 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Comment éviter : F5 => Formulaire resoumis

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Comment éviter : F5 => Formulaire resoumis

n°598847
Lex
Posté le 30-12-2003 à 00:11:19  profilanswer
 

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.

mood
Publicité
Posté le 30-12-2003 à 00:11:19  profilanswer
 

n°598864
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-12-2003 à 00:36:10  profilanswer
 

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 :D
Sinon tu peux faire une redirection vers la page d'arrivée avec un header('location: ...')


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°598882
jagstang
Pa Capona ಠ_ಠ
Posté le 30-12-2003 à 00:46:15  profilanswer
 

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

n°599118
Schimz
Bouge pas, meurs, ressuscite !
Posté le 30-12-2003 à 09:29:03  profilanswer
 

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.


Message édité par Schimz le 30-12-2003 à 09:33:57
n°599121
RiderCrazy
Posté le 30-12-2003 à 09:40:45  profilanswer
 

elle est où la fente pour le jeton ? [:tinostar]
 
Edit: ouais, je sais, :dtc:
 
[:neowen]


Message édité par RiderCrazy le 30-12-2003 à 09:41:30
n°599125
bill.fr
Posté le 30-12-2003 à 09:48:36  profilanswer
 

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...


---------------
On ne vit qu'une fois, mais pour qui sait vivre, une seule fois suffit (Merril Stubbing)
n°599128
Lex
Posté le 30-12-2003 à 10:07:14  profilanswer
 

schimz a écrit :

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.


 
j'avoue que je n'ai pas bien compris : il se matérialise comment ton jeton ?
 
merci pour votre aide en tous cas  :jap:

n°599131
Schimz
Bouge pas, meurs, ressuscite !
Posté le 30-12-2003 à 10:21:31  profilanswer
 

Lex a écrit :


 
j'avoue que je n'ai pas bien compris : il se matérialise comment ton jeton ?
 
merci pour votre aide en tous cas  :jap:  


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.


Message édité par Schimz le 30-12-2003 à 10:21:55
n°599134
Lex
Posté le 30-12-2003 à 10:25:55  profilanswer
 

ah ok je vois mieux ! en effet, une session PHP me parrait plus adaptée  :jap: merchi


Message édité par Lex le 30-12-2003 à 10:26:24

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Comment éviter : F5 => Formulaire resoumis

 

Sujets relatifs
[PHP] Récuperer un code HTML déjà généré ? (explication inside)[PHP] bug avec include
[PHP] redirection[PHP] Fonction qui supprime un fichier exemple : c:\dossier\file.ext
[Apache/PHP] Comment se déconnecter ?Creation d'une base de donnée en php à partir d'un champ formulaire
[PHP] Calendrier - jour ferié[PHP]affichage sur 2 colonne
[PHP/SQL] Erreur aléatoire????!!!!!!Submiter un formulaire en cliquant sur un lien hypertext ! Aidez moi
Plus de sujets relatifs à : [PHP] Comment éviter : F5 => Formulaire resoumis


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR