IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment suprimer les valeur d'un $_POST['val']


Sujet :

Langage PHP

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 099
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 099
    Points : 946
    Points
    946
    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

  2. #2
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Points : 2 853
    Points
    2 853
    Par défaut
    En utilisant la fonction unset()

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 099
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 099
    Points : 946
    Points
    946
    Par défaut
    ha oui, donc ca serait un
    ?

  4. #4
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 099
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 099
    Points : 946
    Points
    946
    Par défaut
    ben voilà,

    mon formulaire a ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="action" value="sent">
    En cliquand sur "envoyé" J'ai ceci qui recupère la valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (isset($_POST['action'])) ? $action=$_POST['action'] : $action="";
    apres ceci, j'ai un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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?

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    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).

  6. #6
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 909
    Points : 1 014
    Points
    1 014
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment conserver les valeurs de $_POST
    Par foxdream94 dans le forum Langage
    Réponses: 2
    Dernier message: 25/05/2007, 12h05
  2. Comment dééfinir les valeurs des abscisses en Time ?
    Par marsupilami34 dans le forum Langage
    Réponses: 1
    Dernier message: 29/09/2005, 15h50
  3. [Struts] Comment initialiser les valeurs d'un formulaire
    Par Sniper37 dans le forum Struts 1
    Réponses: 2
    Dernier message: 08/04/2005, 15h02
  4. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02
  5. [Forms] Comment restreindre les valeurs d'une LOV
    Par popressay dans le forum Forms
    Réponses: 9
    Dernier message: 25/08/2004, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo