Message : Undefined index: LISTE1

Résolu
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 :

$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

  1. Effectivement, je comprends mieux mon erreur.
    Merci à toi, ça fonctionne.
    0
    1. 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.
      0
      1. Modérateur
        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'];
        
        }
        
        2