Partage
  • Partager sur Facebook
  • Partager sur Twitter

Notice: Undefined index:

Sujet résolu
    16 février 2019 à 10:57:07

    Salut,

    Je vous explique mon problème, je suis en train de faire un espace membre et plus précisément l’édition et l'affichage du profil.

    Le problème que je rencontre avec cette erreur survient dans la page d’édition mais pas quand j'ouvre la page édition mais quand j'envoie le formulaire de celle-ci, avec l'erreur Notice: Undefined index: newniveau & newlocalisation seulement j'ai vérifié les nom du formulaire et ils sont bien les mêmes et chose étrange les lignes qui plantent sont les if ou je teste si les variable du formulaire sont null ou vide. De plus si tout de suite après je fais une redirection sur le profil le changement a bien lieu dans la base donnée et m'affiche donc les bonnes informations. 

    Une idée ? Merci d'avance.

    Les if avec les erreurs en question

    if(isset($_POST['newlocalisation']) AND !empty($_POST['newlocalisation']) AND $_POST['newlocalisation'] != $user['newlocalisation'])
      {
          $newlocalisation = ($_POST['newlocalisation']);
          $insertLocalisation = $bdd->prepare('UPDATE membres SET localisation = ? WHERE id = ?');
          $insertLocalisation->execute(array($newlocalisation, $_SESSION['id']));
      }
    
      if(isset($_POST['newniveau']) AND !empty($_POST['newniveau']) AND $_POST['newniveau'] != $user['newniveau'])
      {
          $newniveau = ($_POST['newniveau']);
          $insertNiveau = $bdd->prepare('UPDATE membres SET niveau = ? WHERE id = ?');
          $insertNiveau->execute(array($newniveau, $_SESSION['id']));
      }

    Formulaire d'envoie :

    <td>
                                <br />
                                <select name="newlocalisation" id="newlocalisation" style="width: 350px; height: 26px;">
                                    <option value="France" <?php if($user['localisation'] === "France") { echo "selected"; } ?> >France</option>
                                    <option value="Belgique" <?php if($user['localisation'] === "Belgique") { echo "selected"; } ?> >Belgique</option>
                                    <option value="Suisse" <?php if($user['localisation'] === "Suisse") { echo "selected"; } ?> >Suisse</option>
                                </select>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <br /><br /><br />
                                <label style="padding-left : 120px;" for="niveau"><strong>Niveau scolaire:</strong></label>
                            </td>
                            <td>
                                <br /><br /><br />
                                <label style="padding-left : 95px;" for="cv"><strong> Lien de votre CV :</strong></label>
                            </td>
                        </tr>
                        <tr>
                          <td>
                                <br />
                                <select name="newniveau" id="newniveau" style="width: 350px; height: 26px;">
                                    <option value="NULL" <?php if($user['niveau'] === "NULL") { echo "selected"; } ?> >Aucun</option>
                                    <option value="6eme" <?php if($user['niveau'] === "6eme") { echo "selected"; } ?> >6eme</option>
                                    <option value="5eme" <?php if($user['niveau'] === "5eme") { echo "selected"; } ?> >5eme</option>
                                    <option value="4eme" <?php if($user['niveau'] === "4eme") { echo "selected"; } ?> >4eme</option>
                                    <option value="3eme" <?php if($user['niveau'] === "3eme") { echo "selected"; } ?> >3eme</option>
                                    <option value="Seconde" <?php if($user['niveau'] === "Seconde") { echo "selected"; } ?> >Seconde</option>
                                    <option value="Premiere" <?php if($user['niveau'] === "Premiere") { echo "selected"; } ?> >Première</option>
                                    <option value="Terminale" <?php if($user['niveau'] === "Terminale") { echo "selected"; } ?> >Terminale</option>
                                </select>
                            </td>



    • Partager sur Facebook
    • Partager sur Twitter
      18 février 2019 à 9:27:48

      Salut !

      A mon avis, ce sont les index newniveau et newlocalisation de $user qui n'existent pas. En effet, je doute que tu récupères depuis la base de données les informations qui viennent à peine d'arriver par le formulaire  ;)

      Je support qu'il suffirait d'enlever la partie new dans le nom des index aux équivalents des fins de lignes 1 et 8.

      • Partager sur Facebook
      • Partager sur Twitter
        18 février 2019 à 11:47:56

        Salut , pas besoin de isset(baba) AND isset(babar)

        isset prend plusieurs paramètres , ce n'est pas un fonction mais une structure de contrôle .

        Ex :

        // PSR 2
        if (isset($goku, $vegeta, $vegito)) {
        
          //renvoi true si ils existent tous
        } else {
          // sinon Boo gagne
        }
        



        -
        Edité par JohnNes 18 février 2019 à 11:48:11

        • Partager sur Facebook
        • Partager sur Twitter
          18 février 2019 à 12:11:58

          Si on part dans cette direction, pas besoin de isset() du tout, vu qu'il teste ensuite avec !empty() qui implique les mêmes vérifications que isset().

          • Partager sur Facebook
          • Partager sur Twitter

          Notice: Undefined index:

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown