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 :

Method $_POST


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Yjo
    Yjo est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 44
    Par défaut Method $_POST
    Bonjour,
    lors de l'envoi de données via un formulaire avec la methode post je marque comme action $_SERVER['PHP_SELF']
    j'ai alors dans ce meme fichier une fonction qui regarde si $_POST est empty ou pas.
    Mais apres le submit de mon formulaire si je reclick sur 'actualiser' dans mon browser j'ai une alerte suivant : "La page ne peut pas etre actualisée sans le renvoi d'informations...."
    je comprends qu'en faite les valeurs du formulaire son encore actif.

    Ma question est-donc, que puis-je faire a la fin de cette fonction pour effacer ces valeur?? Avec la foncion unset($_POST['nomvariable']) cela ne fonctionne pas apparemment

    merci

  2. #2
    Membre chevronné Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Par défaut
    plutot que générer ta page tu traite ton formulaire dans ta page puis tu affiche un meta refresh qui va vers une page (pk pas la meme) sans variable post.

    Est ce clair?
    1) tu traites. et tu n'affiche qu'un meta tag
    2) la page appelée par le méta tag n'a pas de valeur POST

    par contre le problème persistera si tu vas sur la fleche page précedente...

  3. #3
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Voici pourquoi unset() ne t'es pas utile : c'est le navigateur Web qui conserve les variables $_POST dans son cache, or unset() agit seulement sur le serveur Web.

    Pour y remédier, il te suffit effectivement de rediriger le client vers une page sans utiliser la méthode POST. Pour cela, tu as la solution du meta refresh ou bien une balise JavaScript ou bien encore (mon préféré) un simple appel à header('Location: '.__FILE__) dans ton PHP.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 98
    Par défaut
    Citation Envoyé par Kirkis
    Salut

    Voici pourquoi unset() ne t'es pas utile : c'est le navigateur Web qui conserve les variables $_POST dans son cache, or unset() agit seulement sur le serveur Web.

    Pour y remédier, il te suffit effectivement de rediriger le client vers une page sans utiliser la méthode POST. Pour cela, tu as la solution du meta refresh ou bien une balise JavaScript ou bien encore (mon préféré) un simple appel à header('Location: '.__FILE__) dans ton PHP.
    Bonjour,

    question sur le même sujet.

    j'ai le problème du message d'avertissement quand je fais back ou refresh.
    En suivant des conseils, j'ai mis ma liste déroulante dans un mini formulaire à part et en GET ! (Avant j'avais un seul grand formulaire en POST).

    Sur le OnChange, je vais le submit.
    Le back ne provoque plus d'erreur !
    Par curiosité, j'ai supprimé mon grand formulaire et j'ai repassé la method en POST pour le mini. Mon navigateur ne me met plus le message d'avertissement !!!
    A partir de quel moment est-ce que ce message apparait ?

    Bien sûr, seul la méthode GET évite la question en cas de REFRESH !

    Autre souci, mentionné ds un autre post.
    La liste box n'est pas bien mise à jour quand on navigue via les "back". Mais là je ne vois pas de solution...

    merci

    a+

Discussions similaires

  1. Probleme avec la methode $_POST
    Par kamnouz dans le forum Langage
    Réponses: 1
    Dernier message: 04/12/2008, 19h03
  2. [debutant] [servlets] methode init()
    Par be_on_edge dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 01/03/2004, 15h11
  3. [METHODE] -> Détection de virus ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 11/02/2004, 17h04
  4. Passage de variable par methode post ?
    Par oazar dans le forum Flash
    Réponses: 33
    Dernier message: 16/10/2003, 17h03
  5. Methode de drcherche a l,interieur de basse de donner texte
    Par philippe V dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 03/12/2002, 10h20

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