|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Inscription : octobre 2005 Messages : 641 ![]() |
Bonjour,
j'ai un souci avec un formulaire basique sur une page A qui une fois validé (par du js) exécute un page B pour envoyer un mail et enregistrer des données dans un BDD. Tout fonctionne très bien sauf que je viens de m'apercevoir que si l'utilisateur fait un refresh de la page B, le script est de nouveau exécuté.... Comment faire donc pour empêcher cela ? Au départ, j'avais pensé à utiliser un variable cachée pour valider l'exécution du script : Code HTML :
<input type="hidden" name="action" value="submitted" />
Code :
Une idée pour m'aider ? Merci d'avance @+ |
||
|
|
00
|
|
|
#2 | ||
|
Membre éclairé
![]() |
Bonjour,
Personnellement j'utilise des variables de session pour savoir si mon formulaire à deja était envoyé Code :
|
||
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : juin 2005 Messages : 10 ![]() |
Hmm moi je fais comme ca :
Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : octobre 2005 Messages : 641 ![]() |
merci pour vos méthodes... je vais regarder ça de plus près lundi...
Merci beaucoup... je vous tiens au courant |
|
|
00
|
|
|
#5 | ||
|
Membre émérite
![]() |
Salut
tout comme TucSale j'utilise les session pour valider la page de provenance ou l'action de provenance si c'est une redirection vers la meme page Cette méthode est également très pratique pour controler le changement d'url par l'usager ainsi si tu est à la page home.php et que tu entre dans ta barre d'adresse gestionmembre.php qui est une page de traitement seulement accessible a partir de gestion.php ben ca passera pas...alors tes validation de post vont pas planté non plus Code :
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être! La position des Développeurs de developpez avec les explications |
||
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 424 ![]() |
j'utilise toujours le même algo
ouvrir la session y copier $_Request fermer la session rediriger var le traitement ça prends trois lignes et c'est tellement rapide que le F5 ne provoque que le rafraichissement de la page suivante de même mon script de traitement ne fait que la mécanique et redirige vers une page de réponse si le traitement est rapide impossible de le réexécuter s'il est plus lent j'utilise un uuid dans la session pour marquer que le traitement est déjà passé A+JYT |
|
|
00
|
|
|
#7 |
|
Invité(e)
Messages : n/a ![]() |
Et si les cookies sont bloqués ?
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 424 ![]() |
il n'est pas nécessaire d'avoir de cookie pour utiliser les sessions
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com