Empecher le renouvellement d'un code PHP suite à un back sur le navigateur

montreal10
Invité n'ayant pas de compte PHPfrance

16 août 2007, 15:43

Bonjour,

sur mon site, un internaute peut poster un message et il est ensuite redirigé vers une nouvelle page.

Certains internautes, après avoir posté leur message, font un back sur leur navigateur. Cela a pour conséquence de reposter le message.

J'aimerais éviter que les internautes puissent faire un back et repostent le message, mais comment faire cela en PHP ?

Merci d'avance,

Marie

ViPHP
ViPHP | 5924 Messages

16 août 2007, 17:08

Tu attribues un identifiant unique et généré à la volée pour chaque génération de formulaire, dans un champ hidden. Si le formulaire est posté, tu vérifies avec cet identifiant qu'il ne l'a pas déjà été.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 août 2007, 20:57

Modération :
montreal10, ce sujet a déjà été traité et des réponses ont été apportées.


Exécuter un header après avoir effectué un traitement redirige l'utilisateur (et le navigateur) de manière totalement transparente. La fonction actualiser ne recharge que la nouvelle page, la fonction précédent renvoi sur la page précédent le traitement.

Fais une recherche sur le forum sur "pattern PRG" (Post-Redirect-Get) :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...