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. 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
  2. Effectivement, je comprends mieux mon erreur.
    Merci à toi, ça fonctionne.
    0