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 :

formulaire variable $_POST non définie [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut formulaire variable $_POST non définie
    Bonjour;

    Je suis en train de me casser les dents depuis deux jours sur un formulaire qui ne marche plus.
    J'avais conçu un site sur un hébergeur mutualisé, et j'ai fait la migration sur mon serveur personnel chez ovh. Mes formulaires ne fonctionnent plus.
    Je vous montre le plus relevant de mes scripts de tests.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form method="post" action="../essai.php">
        <fieldset>
    	<input type="text" name="login" size="15" />
    	<input type="submit" id="submit" value="Connexion" />
        </fieldset>
    </form>
    Puis la récupération des variables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    	echo "le login est ";
    	echo $_POST['login'];
    	if (isset($_POST['login']))
    	{
    		echo "login exists";
    	} else {
    		echo "login does not exist";
    	}
            echo "fin";
    ?>
    Voici ce qui est affiché sur mon navigateur;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    le login est login does not existfin
    Donc la variables $_POST['blabla'] quelqu'elle soit n'est pas initialisée. Elle n'existe même pas, "login does not exist" s'affiche.

    Je ne sais pas comment expliquer ce phénomène. Je n'ai rien trouvé de conditions éventuelles dans la doc php sur cette variable, et la plupart des forums expliquent uniquement comment faire un formulaire.

    Je vous remercie pour n'importe quelle début de piste/indice que vous pourriez me conseiller pour faire parler mes $_POST['blabla']

    EDIT

    encore un test:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ( strtolower( $_SERVER['REQUEST_METHOD'] ) == 'post' ) {
    		echo "something went post : " . $_SERVER['REQUEST_METHOD'];
    	} else {
    		echo "nothing found : " . $_SERVER['REQUEST_METHOD'];
    	}
    Ce qui est affiché:Donc côté serveur rien n'est trouvé et la méthode retournée est celle par défaut 'GET' ce qui ne m'aide pas :-S
    ZORRO
    Plus Vengeur que Masqué

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Etrange, je pense que ca ne ramenera rien mais tu peux toujours tenter un
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut
    Hello!
    Merci de ta réponse!
    J'ai rajouté cette instruction avant de faire un echo $_POST['login'] et ça me revoit J'ai regardé du côté de php.ini mais pour l'instant sans trop de succès, ça n'a pas l'air d'avoir rapport avec mon soucis.
    ZORRO
    Plus Vengeur que Masqué

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    essaie
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut
    Hello!
    Voici le résultat:
    array(1) { ["PHPSESSID"]=> string(32) "e851178b24c28f1c6438a74f6f8fb789" }
    Merci de ton aide!
    ZORRO
    Plus Vengeur que Masqué

  6. #6
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    Pratiques-tu l'URL Rewriting sur ton nouvel hébergement ?

    Dans ce cas, cela pourrais venir de là.

  7. #7
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut
    Mmmh .. pas à proprement parler.
    En fait, j'ai un serveur physique qui contient des machines virtuelles.
    Varnish en entrée du serveur me permet en fonction de l'url de rediriger vers l'une ou l'autre des machines virtuelles (OpenVZ) qui chacune héberge un site.
    C'est la première fois que j'ai tenté cette manip, donc peut-être que c'est dû à cette configuration particulière? Je vais regarder cette piste.
    Merci pour ton coup de main Eric2a
    ZORRO
    Plus Vengeur que Masqué

  8. #8
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut
    Bon, alors, en effet, à partir de l'environnement de base, ça fonctionne sans problème.
    C'est quand on se situe dans une machine virtuelle que le soucis arrive. Donc j'ai migré le site en question sur l'environnement de base. Ça me permet de résoudre temporairement ce soucis Merci Eric2a ^^
    Par contre, je ne comprends pas encore (mais aussi il est tard...) comment résoudre ce soucis. Je pensais que varnish se contentait de rediriger le flux TCP vers le serveur balbla si l'url d'entrée est blabla.fr et ainsi pour chaque url...
    En attendant d'investiguer d'avantage, je vous souhaite une bonne soirée!

    Hello, Eric2a;
    Pourrais-tu m'en dire un peu plus sur cette histoire d'url rewriting?
    J'ai pas trouvé grand chose à ce sujet.
    J'ai vu que ce genre de soucis pouvait être lié aux includes dans mes pages (pour le header et le footer par exemple) mais ça ne s'adapte pas à mon cas.
    Merci!
    ZORRO
    Plus Vengeur que Masqué

  9. #9
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Tu as du essayer le method="POST", car les éditeurs, les sources and co sont pas tjs d'accord

    Sinon pas
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  10. #10
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Citation Envoyé par Balbuzard Voir le message
    Pourrais-tu m'en dire un peu plus sur cette histoire d'url rewriting ?
    Je viens de trouver un article qui explique bien ce dont je voulais parler
    mon formulaire était posté à http://example.com/index.php à cause d'une balise "base" définie à l'intérieur de la balise "head" de mon document :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <base href="http://example.com/" />
    et l'attribut action de la balise "form" était le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" action="./index.php">
    A cause des redirections 301 qui font pointer example.com vers www.example.com et le formulaire qui pointe vers example.com/index.php, Apache n'associe pas le tableau $_POST avec www.example.com mais avec le domaine [i]example.com.

    Source : Array $_POST vide
    Apparement ce n'est pas ton cas, donc à part te proposer de vérifier dans le php.ini que :
    • variables_order contient bien la lettre P
    • post_max_size contient une valeur acceptable (8M par défaut)

    À mon niveau, je ne vois rien d'autre.

  11. #11
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut
    Bon, mon fichier php.ini est correct.
    En fait le soucis ne venait pas exactement de l'url rewriting, même si c'est cette idée m'a mis sur la voie
    Le truc est que pour passer du serveur physique vers les machines virtuelles, cette variable n'était pas prise en compte par varnish. Il fallait la repositionner dans la conf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(req.request == "POST") { pipe; }
    Merci à vous et vos réponses qui m'ont mis sur le bon chemin
    ZORRO
    Plus Vengeur que Masqué

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

Discussions similaires

  1. variable Outlook non définie
    Par imsse dans le forum VBA Access
    Réponses: 11
    Dernier message: 19/12/2008, 15h53
  2. Erreur 91 variable objet non définie
    Par kmarcel dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 23/04/2008, 13h17
  3. Réponses: 4
    Dernier message: 06/06/2007, 13h32
  4. Erreur 91 variable objet non défini
    Par sebeni dans le forum Général VBA
    Réponses: 3
    Dernier message: 07/05/2007, 11h12
  5. Réponses: 4
    Dernier message: 16/06/2006, 00h27

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