Confirmer le nouvel envoie du formulaire

Par quentin, il y a 11 ans


Bonjour,
Je voulais savoir si il y avait une solution pour eviter que a l'actualisation d'une page avec des formulaires déja postés les formulaires ce renvoie?
Merci

8 réponses

Khalysto, il y a 11 ans

Tout dépend du formulaire, mais tu peux simplement vider $_POST une fois que ton traitement est terminé

quentin, il y a 11 ans

Khalysto je le vide deja avec un unset, il y a une autre fonction ?

Khalysto, il y a 11 ans

Je pensais plus à ça

<?php $_POST = array(); ?>
Lartak, il y a 11 ans

@Khalysto : Ici c'est la section CakePHP et dans le Framework en général, nous utilisons $this->request->data.
Sinon, ce n'est pas faux, dans le traitement des données postées, il te suffit par exemple de faire :

if ($this->request->is('post') { /* Traitement des données et requête(s) */ $this->request->data = []; }

Par contre, si un peu plus loin tu définies des valeurs pour le formulaire (pour une édition par exemple), n'oublies pas de couper la fonction avec un redirect après le vidage des données dans le $this->request->data, donc dans ce cas là :

if ($this->request->is('post') { /* Traitement des données et requête(s) */ $this->request->data = []; $this->redirect($this->referer()); } /* Suite du code de la fonction */

Tu aurais quand même pu nous montrer le code de ta fonction, je n'aime pas trop faire des suppositions sur ce genre de cas.

jo-jo-123, il y a 11 ans

Tu peux faire une redirection une fois le formulaire traité.

quentin, il y a 11 ans

C'est ce que j'ai fait :) merci

Khalysto, il y a 11 ans

Arf, je suis désolé, j'ai pris le post sans regarder la section :/
Je connais pas CakePHP en plus, mais merci aux autres d'avoir corrigé pour moi !

Huggy, il y a 11 ans

Normalement il y a une protection du navigateur avec une fenêtre qui te demande s'il faut renvoyer la page.
Si l'utilisateur clique quand même et renvoie la page, le serveur gère ça comme une nouvelle requête.
Le fait d'avoir effacé $_POST avant NE SERT A RIEN car toutes les requêtes sont idépendantes (B.A-BA du web)
La redirection c'est ce qu'il y a de mieux en effet.