Message : Undefined index: LISTE1
Résolu
Raven76
Messages postés
279
Statut
Membre
-
Raven76 Messages postés 279 Statut Membre -
Raven76 Messages postés 279 Statut Membre -
Bonjour,
J'ai activé le mode DEBUG de mon code PHP et j'ai un message que je n'arrive pas à faire disparaitre.
" Notice : Undefined index: LISTE1.... "
Je tente de remplir une liste déroulante depuis ma base SQL.
Voici la partie de mon code :
avec le SELECT dans le code HTML.
Mon but n'es pas de lui donner sa clé index au 1er chargement de la page.
Auriez vous une solution ?
Raven76
J'ai activé le mode DEBUG de mon code PHP et j'ai un message que je n'arrive pas à faire disparaitre.
" Notice : Undefined index: LISTE1.... "
Je tente de remplir une liste déroulante depuis ma base SQL.
Voici la partie de mon code :
$requser2 = $bdd->prepare("SELECT * FROM MEMBRES WHERE PSEUDO_MBR = ?");
$requser2->execute(array($_POST['LISTE1']));
$userinfo2 = $requser2->fetch();
$id_mbr = $userinfo2['ID_MBR'];
avec le SELECT dans le code HTML.
<select name="LISTE1" style="width: 120px">
<option value="" disabled selected>Identifiant</option>
<?php
$requser = $bdd->query("SELECT * FROM MEMBRES");
while ($pseudo_mbr = $requser->fetch())
{
echo '<option>'.$pseudo_mbr['PSEUDO_MBR'].'</option>';
}
?>
</select>
Mon but n'es pas de lui donner sa clé index au 1er chargement de la page.
Auriez vous une solution ?
Raven76
3 réponses
-
Bonjour
Au chargement de la page la variable $_POST est vide.
Im faut donc vérifier qu'elle est remplie avant de l'utiliser
https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
. -
Justement, elle doit rester vide tant que l'utilisateur n'a pas fait son choix dans la liste déroulante
Je ne souhaite pas mettre de valeur par défaut.-
Il faut juste vérifier que ta variable existe avant de l'utiliser.
Tu peux utiliser un if qui englobe ton code pour la requête SQL....$liste1=!empty($_POST['LISTE1']) ? $_POST['LISTE1'] : null; if($liste1) { $requser2 = $bdd->prepare("SELECT * FROM MEMBRES WHERE PSEUDO_MBR = ?"); $requser2->execute(array($liste1)); $userinfo2 = $requser2->fetch(); $id_mbr = $userinfo2['ID_MBR']; }
-
-
Effectivement, je comprends mieux mon erreur.
Merci à toi, ça fonctionne.