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 :

Notice: Undefined variable


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Par défaut Notice: Undefined variable
    Bonjour à tous,

    je débute en PHP mon problème parait simple mais je n'arrive pas à le resoudre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <html>
    <head>
    	<title>Mon premier PHP </title>
    </head>
     
    <body>
     
     
    <FORM ACTION="p3-inscription.php?subject=Essai formulaire leçon 8" METHOD="GET" ENTYPE="text/plain">
     
      	<P align="left">
    		Veuillez entrer votre mot de passe :   
    		<INPUT TYPE="PASSWORD" NAME="pass" SIZE="9"> 
    	<BR>
    		Votre Nom :   
    		<INPUT TYPE="text" NAME="nom" SIZE="8" > 
    	<BR>
    	<INPUT TYPE="SUBMIT" VALUE="Soumettre"> 
     
    </FORM>
     
     
    </body>
     
    <?php
     
    if ($nom <> "")
          {
          echo "Merci de vous être inscrit, " , $nom;
          header('Location: p4-page suivante.php');
          }
     
    ?>
     
    </html>

    lorsque j'exécute ce code j'ai:
    Notice: Undefined variable: nom in E:\SitesPHP\site1\p3-inscription.php on line 28

    La variable n'est $nom n'est pas connu alors que je l'ai dans des balise input :
    <INPUT TYPE="text" NAME="nom" SIZE="8" >

    Merci pour votre aide.

  2. #2
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 44
    Par défaut
    A cause du protocole http, l'utilisation de header() doit se faire en premier, tu ne dois donc pas utiliser echo() avant.
    En fait header() envoie les en têtes http, tu ne peux donc pas faire appel à echo() (qui envoie lui aussi des en têtes http) avant.
    Met donc echo() après ton header().
    Il me semble que c'est à cause de cela... Sinon j'attends vos rectifications !

  3. #3
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Par défaut
    Ce n'est pas un problème de header ici

    Alors :
    1. en PHP, "différent de" s'écrit:
    2. il faut définir ta variable $nom:
    3. Mais oui, en effet, si tu veux que ton header fonctionne, il ne faut rien écrire avant (ni ton echo, ni ton formulaire avant)

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Par défaut
    j'ai modifier mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
     
    <html>
    <head>
    	<title>Mon premier PHP </title>
    </head>
     
    <body>
     
     
    <FORM ACTION="p3-inscription.php?subject=Essai formulaire leçon 8" METHOD="GET" ENTYPE="text/plain">
     
      	<P align="left">
    		Veuillez entrer votre mot de passe :   
    		<INPUT TYPE="PASSWORD" NAME="pass" SIZE="9"> 
    	<BR>
    		Votre Nom :   
    		<INPUT TYPE="text" NAME="nom" SIZE="8" > 
    	<BR>
    	<INPUT TYPE="SUBMIT" VALUE="Soumettre"> 
     
    </FORM>
     
     
    </body>
     
    <?php
     
    $nom = $_GET['nom'];
    if ($nom != "") 
          {
          echo "Merci de vous être inscrit, " , $nom;
          header('Location: p4-page suivante.php');
          }
     
    ?>
     
    </html>
    mais j'ai toujours :
    Notice: Undefined index: nom in E:\SitesPHP\site1\p3-inscription.php on line 28

    Pourtant je lui definni la variable $nom, je ne comprends pas ...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Par défaut
    Personne a de reponse ....

  6. #6
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 44
    Par défaut
    En fait c'est ce qu'on a dit plus haut

    Met le echo() après le header()

  7. #7
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 44
    Par défaut
    Autant pour moi, ce n'était pas ton problème (même si tu aurais fini pas avoir le problème que j'ai décris au dessus après )

    En fait $nom n'est pas définit. Tu utilise effectivement "nom" dans une balise html mais ce n'est en aucun cas une variable PHP. Ici,"nom" est comme un indicateur devant une case de ton formulaire.
    Si j'ai bien compris, tu souhaiterais récupérer la valeur de "nom" dans ton formulaire, il faut alors utiliser la variable $_GET[] comme tu l'a précisé toi même.

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

Discussions similaires

  1. [MySQL] Notice: Undefined variable: prenom in c:\documents and settings\stagiaire10\mes docum
    Par fofina dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 15/10/2007, 00h18
  2. Notice: Undefined variable: id in
    Par dynam dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 11/09/2007, 17h12
  3. Notice: Undefined variable
    Par oranoutan dans le forum Langage
    Réponses: 19
    Dernier message: 21/12/2005, 22h28
  4. Notice: Undefined variable
    Par kayn dans le forum Langage
    Réponses: 2
    Dernier message: 03/10/2005, 20h44
  5. Réponses: 3
    Dernier message: 22/09/2005, 11h24

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