Notice et fatal error
Résolu
JeunLoup
Messages postés
7
Statut
Membre
-
JeunLoup Messages postés 7 Statut Membre -
JeunLoup Messages postés 7 Statut Membre -
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:
EDIT : Ajout des balises de code
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
4 réponses
-
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 lignesession_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
-
sorry je le ferai. merci
lorsque je le modifie comme vous l'avez dit, le navigateur actualise juste la page.
comment faire? please! -
Bonjour
Ligne 11 :"SELECT matricule FROM ...
.
Ligne 14 :...$row['active']...
Si tu ne vas chercher que le champ 'matricule', ne t'attends pas à trouver un champ 'active' dans le résultat. C'est pour ça que tu as une erreur Undefined index: active -