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

Résolu
ahmed1333 Messages postés 18 Statut Membre -  
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   189
     
    bonsoir,

    car à aucun moment la variable $user est définie !
    0
  2. ahmed1333 Messages postés 18 Statut Membre
     
    comment je peut la corriger svp
    0
  3. ahmed1333 Messages postés 18 Statut Membre
     
    SVP aidez moi de corriger ce code

    et merci
    0
  4. Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
     
    Tu utilise une variable $user sans l'avoir remplit.
    La solution est simple, remplit-là :)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ahmed1333 Messages postés 18 Statut Membre
     
    svp comment "remplit-là"
    0
  7. ElementW Messages postés 5690 Statut Contributeur 1 293
     
    '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.
    0