Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/08/2007, 00h20   #1
Débutant
 
Inscription : mai 2005
Messages : 1 961
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 961
Points : 615
Points : 615
Par défaut Comment suprimer les valeur d'un $_POST['val']

Bonjour,
je viens de faire un formulaire avec la méthode $_POST. J'utilise aussi les session pour recupérer les valeurs dans le cas d'une erreur d'envoi et pour que l'utilisateur n'aie pas à tout rerentrer.

Si l'envoi se passe bien, les données sont envoyées à la base MySQL,les variable de session sont reinitialisées et donc les champs sont vides
Mon problème c'est après l'envoi j'ai imaginé que l'utilisateur fasse un réfresh (F5).

Dans le cas ou il fait un refresh, les données sont renvoyées à ma base. Je ne comprennais pas pourquoi puisque tous les champs sont vide. J'ai réalisé ensuite que $_POST['uneValeur'], gardaient leur valeur.

Comment puis-je détruire toutes mes $_POST['val'], après l'envoi?

Merci
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 00h25   #2
Rédacteur
 
Avatar de Yoshio
 
Homme
Inscription : septembre 2005
Messages : 1 741
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 1 741
Points : 1 497
Points : 1 497
En utilisant la fonction unset()
Yoshio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 00h27   #3
Débutant
 
Inscription : mai 2005
Messages : 1 961
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 961
Points : 615
Points : 615
ha oui, donc ca serait un
?
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 00h54   #4
Débutant
 
Inscription : mai 2005
Messages : 1 961
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 961
Points : 615
Points : 615
ben voilà,

mon formulaire a ceci
Code :
<input type="hidden" name="action" value="sent">
En cliquand sur "envoyé" J'ai ceci qui recupère la valeur

Code :
(isset($_POST['action'])) ? $action=$_POST['action'] : $action="";
apres ceci, j'ai un
Code :
1
2
3
4
5
6
7
8
9
10
11
 
switch($action){
case "sent":
   //Ici le code qui met a jour ma base de donnée
   // Puis après il faut au moins que la valeur $_POST['action'] soit suprimé
   // Alors j'ai fait:
  unset($_POST['action']);
  //Mais ca n'a pas détruit cette variable
 
default:
}
Why?
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 11h20   #5
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Parce que lors d'un rafraichissement, le client vous renvoie les données POST et redemande la même page. Votre suppression côté serveur, sera effective pour l'ancien appel du script, et s'avère donc inutile.

Il faut trouver autre chose (redirection par exemple).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 02h40   #6
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut j'enfonce le clou

Comme l'a dit julp, la redirection est le moyen de supprimer de la mémoire du navigateur les données envoyées via GET et POST.

Redirection:
header('Localhost: chemin/fichier.php');

Je précise, avant que mon ami is_null vienne troller pour rien, que fichier.php peut être remplacé par un fichier HTML ou autre... C'est toi qui décide vers quelle page web (PHP ou non) tu veux rediriger l'internaute.
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h23.


 
 
 
 
Partenaires

Hébergement Web