Titre: interdire l'actualisation de la page
Posté par: arnaudb le le 23-06-2005 a 17:32:02
Bonjour,
Voila mon probleme. J'ai un formulaire qui une fois poster dirige vers un page de verification. Si les champs sont OK insertion des donnees dans MySql. Si j'actualise la page dans le navigateur et que je clique sur RECOMMENCER il me reinscrit toutes les données dans la BDD.
Avez-vous un moyen d'empecher cela ?
Cordialement Arnaud. |
Titre: Re:interdire l'actualisation de la page
Posté par: FireLink le le 23-06-2005 a 17:37:50
Proprement dit, il est imposssible d'empêcher l'actualisation...
Mais si tu redirige vers une 3eme page avec header("Location: tapage.php");
Je crois qu ça fonctionnerait pour régler le problème. |
Titre: Re:interdire l'actualisation de la page
Posté par: arnaudb le le 23-06-2005 a 17:50:46
| Ok c'est une solution Merci. |
Titre: Re:interdire l'actualisation de la page
Posté par: FireLink le le 23-06-2005 a 17:51:28
Titre: Re:interdire l'actualisation de la page
Posté par: Cellimo le le 23-06-2005 a 22:17:37
mais cette solution est foutu si l'utilisateur reviens a la page précédante, qui est beaucoup plus utilisé que la réactualisation
donc moi je te recommande ce truc: dans ton script php, tu regarde si le dernier enregistrement n'est pas le meme... a moins que ca soit pour un sondage, cette astuce devrait se révéler assez efficace ;) |
Titre: Re:interdire l'actualisation de la page
Posté par: FireLink le le 23-06-2005 a 23:44:58
Non, j'ai essayé très simplement en local en faisant 3 pages.
test0: lien qui mène vers test1 test1: contient header("location:test2.php") test2: ne contient rien
Un précédent à partir de test 2 me mène directement sur test0. |
Titre: Re:interdire l'actualisation de la page
Posté par: arnaudb le le 24-06-2005 a 00:33:58
oui j'ai essayé en faisant retour j'ai le message délai expiré pour la page. Alors j'actualise et la nouvelle insertion. Comment vérifier alors et interdire si l'enregistrememnt est le meme ?
|
Titre: Re:interdire l'actualisation de la page
Posté par: FireLink le le 24-06-2005 a 01:31:29
Par exemple: Tu fais un select avec condition tous les champs qui doivent égaler ce que tu poste (champs de form, je présume).
Tu compte le nombre de résultats avec mysql_num_rows
Si c'est supérieur à 0: déjà existant
Sinon: pas existant. |
Titre: Re:interdire l'actualisation de la page
Posté par: arnaudb le le 24-06-2005 a 13:14:25
Voila j'ai fais la recommandation de FIRELINK. Un select avec mysql_num_rows et cela à l'air de fonctionner à merveille.
Je vais mettre un lien vers ce forum sur ma page partenaire car vous m'avez bien aidé depuis quelque jours.
MERCI. |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|