Notice et fatal error

Résolu/Fermé
JeunLoup Messages postés 6 Date d'inscription jeudi 26 juillet 2018 Statut Membre Dernière intervention 14 août 2018 - Modifié le 14 août 2018 à 12:59
JeunLoup Messages postés 6 Date d'inscription jeudi 26 juillet 2018 Statut Membre Dernière intervention 14 août 2018 - 14 août 2018 à 17:44
bjr à tous je débute un peu en PHP et actu je peux plus progresser à cause d'une erreur dans mon code, j'aurais vraiment besoin d'aide svp.
le navigateur me renvoi tjr ces erreurs
"Notice: Undefined index: active in C:\wamp64\www\tests\Login.php on line 14"
"Fatal error: Call to undefined function session_register() in C:\wamp64\www\tests\Login.php on line 21"

mon code:
<?php
   include("conf.php");
   session_start();
   
   if($_SERVER["REQUEST_METHOD"] == "POST") {
      // username and password sent from form 
      
      $myusername = mysqli_real_escape_string($db,$_POST['username']);
      $mypassword= mysqli_real_escape_string($db,$_POST['password']); 
      
      $sql = "SELECT matricule FROM etudiants WHERE user_etud = '$myusername' and pwd_etud = '$mypassword'";
      $result = mysqli_query($db,$sql);
      $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
      $active = $row['active']; // ligne 14
      
      $count = mysqli_num_rows($result);
      
      // If result matched $myusername and $mypassword, table row must be 1 row
  
      if($count == 1) {
         session_register("myusername"); // ligne 21
         $_SESSION['login_user'] = $myusername;
         
         header("location: Bienvenue.php");
      }else {
         $error = "Votre nom d'utilisateur ou mot de passe incorrect";
      }
   }
?>
<!DOCTYPE html>
<html lang="fr">
   
   <head>
      <title>Gestion ordres de mission</title>
      <meta charset="utf-8">
      <link rel="stylesheet" href= "style2.css" />
      
   </head>
   
   <body bgcolor = "#FFFFFF">
   
      <div align = "center">
         <div style = "width:300px; border: solid 1px #333333; " align = "left">
            <div style = "background-color:#333333; color:#FFFFFF; padding:3px;"><b>Login</b></div>
            
            <div style = "margin:30px">
               
               <form action = "" method = "post">
                  <label>Nom d'utilisateur  :</label><input type = "text" name = "username" class = "box"/><br /><br />
                  <label>Mot de passe  :</label><input type = "mot de passe" name = "password" class = "box" /><br/><br />
                  <input type = "submit" value = " Submit "/><br />
               </form>
               
               <div style = "font-size:11px; color:#cc0000; margin-top:10px">
               
            </div>
            
         </div>
      </div>

   </body>
</html>


EDIT : Ajout des balises de code
A voir également:

4 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
14 août 2018 à 13:03
Bonjour,

Pour commencer.. lorsque tu postes ton code sur le forum, merci d'y mettre les balises de code.
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ensuite, pour tes soucis :
Si ta requête ne retourne aucun résultat.. $row est vide .. et par conséquent, $row['active'] n'existe pas.
Il te faut donc placer cette ligne de code dans tes if.
$result = mysqli_query($db,$sql);
      $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
     
      $count = mysqli_num_rows($result);    
      // If result matched $myusername and $mypassword, table row must be 1 row
      if($count == 1) {
              $active = $row['active']; // ligne 14



et supprimer la ligne
session_register("myusername"); // ligne 21



Pour finir, je t'invite à lire et à appliquer ceci pour tes prochains codes
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code


0