Pour quoi ce code affiche toujours la session de l'enseignant ? [Résolu/Fermé]

Signaler
Messages postés
16
Date d'inscription
jeudi 28 février 2013
Statut
Membre
Dernière intervention
15 juin 2014
-
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
-
Bonjour,

pour quoi ce code affiche toujours la session de l'enseignant ?


<?php
if(isset($_POST["user"]) && isset($_POST["passe"]))
{
mysql_connect("localhost","root","");
mysql_select_db("encadrement");
$req = "SELECT nom FROM utilisateur WHERE user='".$_POST["user"]."' AND passe='".$_POST["passe"]."'";
$res = mysql_query($req);
if($ligne=mysql_fetch_array($res))
{
session_start();
$_SESSION["user"]=$_POST["user"];
$_SESSION["passe"]=$_POST["passe"];
$_SESSION["nom"]=$ligne["nom"];
if($user=="etudiant")
{
header("location:etudiant.php");
}
else if($user=="secritaire")
{
header("location:secritaire.php");
}
else
{
header("location:enseignant.php");
}}
else
{
?>
<form method="post" style="margin-top:20px; margin-left:10px;">
<fieldset style="width:260px; margin-top:10px;">
<legend><strong>Authentification</strong></legend>
<table width="300" border="0" align="center">
<tr>
<td width="81">Identifiant :</td>
<td width="52"><input type="text" name="user" /></td>
</tr>
<tr>
<td>Mot de passe :</td>
<td><input type="password" name="passe" /></td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" name="conn" value=" OK">
</td>
</tr>
</table>
</fieldset>
<?php
echo("Erreur d'authentification");
}
}
else
{
?>
<form method="post" style="margin-top:20px; margin-left:10px;">
<fieldset style="width:260px; margin-top:10px;">
<legend><strong>Authentification</strong></legend>
<table width="300" border="0" align="center">
<tr>
<td width="81">Identifiant :</td>
<td width="52"><input type="text" name="user" /></td>
</tr>
<tr>
<td>Mot de passe :</td>
<td><input type="password" name="passe" /></td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" name="conn" value=" OK">
</td>
</tr>
</table>
</fieldset>
<?php
}
?>

7 réponses

Messages postés
1219
Date d'inscription
vendredi 29 décembre 2006
Statut
Membre
Dernière intervention
15 mars 2016
186
bonsoir,

car à aucun moment la variable $user est définie !
Messages postés
16
Date d'inscription
jeudi 28 février 2013
Statut
Membre
Dernière intervention
15 juin 2014

comment je peut la corriger svp
Messages postés
16
Date d'inscription
jeudi 28 février 2013
Statut
Membre
Dernière intervention
15 juin 2014

SVP aidez moi de corriger ce code

et merci
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
122
Tu utilise une variable $user sans l'avoir remplit.
La solution est simple, remplit-là :)
Messages postés
16
Date d'inscription
jeudi 28 février 2013
Statut
Membre
Dernière intervention
15 juin 2014

svp comment "remplit-là"
Messages postés
4761
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
23 octobre 2020
1 228
'lut, vu ton code
$user
devrait contenir le type d'utilisateur (secrétaire, enseignant ou élève); mais le nom porte a confusion, aussi je te recommande de changer son nom en
$usertype
par exemple.
Donc cette variable
$usertype
, il faut que tu lui attribues le type d'utilisateur correspondant que tu as trouvé lors de ta requête MySQL (d'ailleurs les fonctions
mysql_*
sont obsolètes, il faut à tout prix passer à PDO car elles seront supprimées dans les prochaines versions de PHP).
Ta table doit ressembler à ceci, non?
id | user | passe | type
Bien il faut récupérer le champ "type":
$usertype = $ligne['type']

Après tu fait tes vérifications pour rediriger sur la bonne page.
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
122