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 :

'Undefined index' sur une liste issue d'une requete


Sujet :

Langage PHP

Vue hybride

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 15
    Par défaut 'Undefined index' sur une liste issue d'une requete
    Bonsoir,

    Je rame dur ...
    J'utilise le code ci-dessous.
    Le premier formulaire est obtenu par une requete et le second (raccourci pour l'exemple) est entré en "dur".
    A la fin je souhaite afficher les résulats de ce que j'ai selectionné dans les listes en cliquant sur le bouton OK.

    Probleme :
    Quand j'ouvre ma page, j'ai une erreur "Notice: Undefined index: NOMSVILLES " sur la ligne :
    {echo '<p>Votre choix de ville est : ' .htmlspecialchars($_POST['NOMSVILLES']) . '</p>';}

    Quand je selectionne des options dans les 2 listes et que je clique OK.
    Ca fontionne pour Choix1 mais toujours le message d'erreur pour NOMSVILLES.
    J'ai trouvé des infos sur "isset" mais je n'y comprend rien ...
    !

    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
     
     <?php
    	require("connect.php"); 
    	// 1er formulaire
    	echo "<FORM method=\"POST\">";
    	echo "<select name=\"NOMSVILLES\">";
    	echo "<option>- - - Choisir un lieu - - -</option>";
    	$resultat = mysql_query ($requete1);
    	while($val=mysql_fetch_array($resultat)) {
    		echo "<option>".$val["VILLE"]."</option>\n";
    		}
    	echo "</select>";
    	echo "</form>";
     
    	// 2eme formulaire
    	echo "<FORM method=\"post\">";
    		echo "<select name=\"choix1\">";
    		echo "<option>100 m</option>";
    		echo "</select>";
    		echo "<p>";
    	echo "<input name=\"submit\" type=\"submit\" value=\"OK\" />";
    	echo "</form>"
    ?>
    <?php
    	{echo '<p>Votre choix de ville est : ' .htmlspecialchars($_POST['NOMSVILLES']) . '</p>';}
    	{echo '<p>Votre choix de distance est : ' .htmlspecialchars($_POST['choix1']) . '</p>';}
    ?>
    Edit : J'ai également cette erreur sur 'Choix1' quand j'ouvre ma page.
    quand j'appuie sur OK l'erreur disparait sur 'Choix1' mais subsiste sur 'NOMSVILLES'

  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
    Par défaut
    Il faut en effet savoir si on a recu une variable avant de penser vouloir l'afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    if (isset($_POST['NOMSVILLES'])) {echo '<p>Votre choix de ville est : ' .htmlspecialchars($_POST['NOMSVILLES']) . '</p>';}
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 15
    Par défaut
    Bonsoir sabotage,

    Merci pour votre réponse.
    Je n'ai effectivement plus de message d'erreur mais je n'ai pas non plus l'affichage du résultat.
    Le If doit renvoyer False , donc la variable ne doit pas etre initialisée ..
    Mais comment fait on pour l'initialiser ?

    Je suis désolé mais je suis un vrai newbie.

  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
    Par défaut
    Il ne faut pas que tu fasses deux formulaire : le bouton submit n'envoi que les données appartenant à son formulaire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 15
    Par défaut
    Re,

    !? avec le code suivant, submit envoie les données des 2 formulaires :
    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
     
    <?php
    	// 1er formulaire
    	echo "<FORM method=\"post\">";
    		echo "<select name=\"choix1\">";
    		echo "<option>toto</option>";
    		echo "<option>tutu</option>";
    		echo "</select>";
    		echo "<p>";
    	// 2eme formulaire
    	echo "<FORM method=\"post\">";
    		echo "<select name=\"choix2\">";
    		echo "<option>riri</option>";
    		echo "<option>fofo</option>";
    		echo "</select>";
    		echo "<p>";
    	echo "<input name=\"submit\" type=\"submit\" value=\"OK\" />";
    	echo "</form>"
    ?>
    <?php
    	{echo '<p>Votre choix de distance est : ' .htmlspecialchars($_POST['choix1']) . '</p>';}
    	{echo '<p>Votre choix de distance est : ' .htmlspecialchars($_POST['choix2']) . '</p>';}
    ?>
    Mon probleme semble venir du fait que ma premiere liste est generée par une requete MySQL...
    En fait, je souhaite faire ce que fait ce code (qui fontionne) avec des listes générée par requete (comme dans le 1er Post de ce Fil).
    Merci pour ton aide.

  6. #6
    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
    Par défaut
    ton code n'est pas bon, tu as toujours deux <form> et tu n'a pas les isset()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 05/02/2015, 14h47
  2. [SP-2010] Griser un champ en fonction d'une valeur issue d'une liste de choix
    Par Blooster dans le forum SharePoint
    Réponses: 3
    Dernier message: 07/06/2013, 12h24
  3. [AJAX] liste liée a une liste liée a une liste
    Par dirty_harry dans le forum AJAX
    Réponses: 2
    Dernier message: 03/07/2009, 11h18
  4. acceder à une liste contenue dans une liste
    Par CPI_en_mousse dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 12/06/2007, 08h33
  5. remplir une liste à partir d'une liste
    Par LeXo dans le forum Access
    Réponses: 7
    Dernier message: 14/04/2006, 12h29

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