Php/mysql erreur dans mon code,

Bonjour,
j'ai une petite erreur dans mon code,
je souhaite qu'il m'affiche une fois me conecter avec mon login+motde passe "bienvenue à JESEF XFAR.
donc je vous pris de me corriger cette erreur.
bye
voila le code
<?php session_start();

//test si la variable de session user existe pour verifier si l'authentification a ete effectuée
if(!isset($_SESSION['user'])){
echo "<center>Il faut être authentifié !</center>";
echo "<meta http-equiv=\"Refresh\" content=\"1;URL=connexion.php\">";

exit();
}
?>
<?php
$_SESSION['categorie']=$_POST['categorie'];
$_SESSION['Login']=$_POST['Login'];
$_SESSION['pw']=$_POST['pw'];
$c=$_POST['categorie'];
if($c==1){$t='eleve';} elseif($c==2 ){$t='maitre';}elseif($c==3){$t='stage';} else{$t='lieu';}
$link=mysql_connect('localhost','root','root');
if (!$link)
{
die ('<p>Impossible de se connecter : '.mysql_error().'<p>');
}
$db=mysql_select_db('gestionstage',$link);
if(!$db) {die ('<p>Impossible utiliser la base : '.mysql_error().'<p>');}
$Login=$_POST['Login'];
$query="select Nom,Prenom,Login,pw from $t where Login='$Login'";
$resultat=mysql_query($query);
if(mysql_num_rows($resultat)==0) { echo" Identifiant Inconnu!";
echo"<a href='index.php'> Retour </a>";}
else
$row=mysql_fetch_array($resultat);
if($row['pw']=$_POST['pw']){
echo "Mot de Passe Incorrect!";
echo"<a href='index.php'> Retour </a>";}
else {echo"<p> Bienvenue<strong>".$row['Prenom']."".$row['Nom']."</strong>"."</p>";

}
?>
Configuration: Windows XP
Firefox 2.0.0.16

10 réponses

  1. Bonjour,

    Pensez à indiquer l'erreur qui s'affiche à l'exécution s'il y'en a une.

    if($row['pw']=$_POST['pw']){ 
    


    Il y'a une erreur là.
    c'est != et non = .

    Et par sûreté, le mot de passe devrait être crypté dans la base de donnée.
    0
    1. merci de m'avoir repondu.
      voilà ce qu'il m'affiche
      Identifiant Inconnu! Retour
      Notice: Undefined variable: row in c:\program files\easyphp1-7\www\gestionetudiant\connexion.php on line 48

      ET DANS CETTE LIGNE 48 QUE J AI MIS != ET NON = MAIS VOILA LE RESULTA QU IL DONNE . ET PUIS JE SUIS SUR DE MON MOT DE PASSE ET LOGIN.
      merci
      0
      1. j'attend une suite svp je vous en pris aide moi
        0
        1. C'est normal, dans le cas ou ton identifiant est inconnu, $row n'est pas déclaré, donc php génère une erreur. Remplace la fin de ton code par :

          if(mysql_num_rows($resultat)==0) { echo" Identifiant Inconnu!";
          echo"<a href='index.php'> Retour </a>";}
          else {
          $row=mysql_fetch_array($resultat);
          if($row['pw']=$_POST['pw']){
          echo "Mot de Passe Incorrect!";
          echo"<a href='index.php'> Retour </a>";}
          else {echo"<p> Bienvenue<strong>".$row['Prenom']."".$row['Nom']."</strong>"."</p>";
          }
          }
          ?>

          et rééssaye ;)
          0
          1. merci pour votre intervention mais je ne suis pas encore satisfait dans la mesure ou il m'affiche :
            Identifiant Inconnu! Retour

            ALORS QUE MON IDENTIFIANT EST CORRECT ET MDP AUSSI. JE SOUHAITE QU IL MAFFICHE bienvenbu jessef amseff mais sa ne fait pas le cas.
            je compte sur vous
            0
            1. svp j'attend une suite aide moi
              0
              1. Repost ton code après les modifications indiquées, qu'on voit s'il reste une erreur.
                0
                1. ok
                  merci
                  le meme probleme persiste
                  voila le code il m'affiche identifiant inconnu alors que le login+ mdp tout est correct.
                  voila le code et son resultat

                  <?php session_start();

                  //test si la variable de session user existe pour verifier si l'authentification a ete effectuée
                  if(!isset($_SESSION['user'])){
                  echo "<center>Il faut être authentifié !</center>";
                  echo "<meta http-equiv=\"Refresh\" content=\"1;URL=connexion.php\">";

                  exit();
                  }
                  ?>
                  <?php
                  $_SESSION['categorie']=$_POST['categorie'];
                  $_SESSION['Login']=$_POST['Login'];
                  $_SESSION['pw']=$_POST['pw'];
                  $c=$_POST['categorie'];
                  if($c==1){$t='eleve';} elseif($c==2 ){$t='maitre';}elseif($c==3){$t='stage';} else{$t='lieu';}
                  $link=mysql_connect('localhost','root','root');
                  if (!$link)
                  {
                  die ('<p>Impossible de se connecter : '.mysql_error().'<p>');
                  }
                  $db=mysql_select_db('gestionstage',$link);
                  if(!$db) {die ('<p>Impossible utiliser la base : '.mysql_error().'<p>');}
                  $Login=$_POST['Login'];
                  $query="select Nom,Prenom,Login,pw from $t where Login='$Login'";
                  $resultat=mysql_query($query);
                  if(mysql_num_rows($resultat)==0) { echo" Identifiant Inconnu!";
                  echo"<a href='index.php'> Retour </a>";}
                  else {
                  $row=mysql_fetch_array($resultat);
                  if($row['pw']=$_POST['pw']){
                  echo "Mot de Passe Incorrect!";
                  echo"<a href='index.php'> Retour </a>";}
                  else {echo"<p> Bienvenue<strong>".$row['Prenom']."".$row['Nom']."</strong>"."</p>";
                  echo"<a href='menu.php'> Continuer </a>";
                  }}
                  ?>
                  </div>
                  </body>
                  0
                  1. Toujours la même erreur :
                    if($row['pw']=$_POST['pw']){ 


                    Correction :
                    if ($row['pw'] != $_POST['pw']) { 
                    0
                2. oui je l'ai fais mais sans ne change rien
                  aide moi svp
                  meme s'il faut proposer quelque choses
                  je compte à vous tous
                  0
                  1. meme si je n'ai pas un mot de passe et que je clique sur ok seulement il m'affiche ce resultat donc seulement y'a un autre probleme.

                    Identifiant Inconnu! Retour
                    0
                    1. Ajoute :
                      echo $query."<br />";
                      

                      juste après :
                      $query="select Nom,Prenom,Login,pw from $t where Login='$Login'"; 
                      


                      Et dis nous ce qui s'affiche.
                      0