Probleme requet sql

max1395 -  
 isis -
Bonjour,
j'ai crée un formulaire qui envoie les donné a la bdd et apres j'ai crée une zone de connexion mais quand j'essay et que je me connecte sa me redirige sur la page verifierlogin.php et la se me mais une erreur sql
quelqu'un pourrais me dire se qui va pas

voici ma page connexione.php :
<html>
<head>
<title>Connexion au site</title>
</head>
<body>
<form method="post" action="verifLogin.php">
<table border="0" width="400" align="center">
<tr>
<td width="200"><b>Vôtre login</b></td>
<td width="200">
<input type="text" name="login">
</td>
</tr>
<tr>
<td width="200"><b>Vôtre mot de passe<b></td>
<td width="200">
<input type="password" name="password">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="submit" value="login">
</td>
</tr>
</table>
</form>
</body>
</html>

et voici ma page verifierlogin.php

<?php

$dbHandler = mysql_connect("localhost","root","" );
mysql_select_db( enregistrer, $dbHandler );

$loginOK = false; // cf Astuce

// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {

extract($_POST); // je vous renvoie à la doc de cette fonction

// On va chercher le mot de passe afférent à ce login
$sql = "SELECT pseudo ml FROM`enregistrer`WHERE login = '".addslashes($login)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);

// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);

// On vérifie que son mot de passe est correct
if ($password == $data['mdp']) {
$loginOK = true;
}
}
}

// Si le login a été validé on met les données en sessions
if ($loginOK) {
$_SESSION['login'] = $data['login'];
$_SESSION['login'] = $data['login'];
$_SESSION['email'] = $data['email'];
$_SESSION['password'] = $data['password'];
}
else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
?>

et sa me mais
Erreur SQL :
SELECT pseudo ml FROM`enregistrer`WHERE login = 'max1395'
Configuration: Windows XP
Internet Explorer 7.0

6 réponses

  1. Smoking bird Messages postés 911 Statut Membre 58
     
    SELECT pseudo ml FROM`enregistrer`WHERE login = '".addslashes($login)."'";
    


    remplace par

    SELECT pseudo ml FROM enregistrer WHERE login = '".addslashes($login)."'";


    les `` ne sont pas nécessaires après le from, et surtout, laisse des espaces^^

    Ca donne quoi?
    0
  2. max1395
     
    sa me mais la meme chose mais en fait ml c'est le nom de ma base de donné je suis pas sure que se soit utile si ?
    0
    1. divland Messages postés 215 Statut Membre 13
       
      bonjour,

      en effet, je ne pense pas que ça soit utile, je pensais que tu faisais appel à 2 champs, dans ce cas il aurait fallu une virgule entre les deux
      0
    2. Alain_42 Messages postés 5413 Statut Membre 904
       
      si ml est le nom de ta base il ne faut pas le mettre dans ta requette

      $sql = "SELECT pseudo  FROM`enregistrer`WHERE login = '".addslashes($login)."'"; 
      0
  3. max1395
     
    non sa me mais toujour la meme chose
    0
  4. max1395
     
    est ce que ce code marcherat mieux a votre avi

    <?php
    // On démarre la session
    session_start();
    
    /* connection a une base mysql en local */
    $connect = mysql_connect("localhost","root","");
    
    /* selection de la base de donnée mysql */
    mysql_select_db("enregistrer", $connect);
    
    
    $loginOK = false;  // cf Astuce
    
    // On n'effectue les traitement qu'à la condition que 
    // les informations aient été effectivement postées
    if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {
    
      extract($_POST);  // je vous renvoie à la doc de cette fonction
    
      // On va chercher le mot de passe afférent à ce login
      $sql = "SELECT pseudo, age, sexe, ville, mdp FROM enregistrer WHERE login = '".addslashes($login)."'";
      $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
      
      // On vérifie que l'utilisateur existe bien
      if (mysql_num_rows($req) > 0) {
         $data = mysql_fetch_assoc($req);
        
        // On vérifie que son mot de passe est correct
        if ($password == $data['mdp']) {
          $loginOK = true;
        }
      }
    }
    
    // Si le login a été validé on met les données en sessions
    if ($loginOK) {
      $_SESSION['pseudo'] = $data['pseudo'];
      $_SESSION['age'] = $data['age'];
         $_SESSION['sexe'] = $data['sexe'];
      $_SESSION['ville'] = $data['ville'];
    }
    else {
      echo 'Une erreur est survenue, veuillez réessayer !'; 
    }
    ?>
    
    
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. max1395
     
    queqlqu'un pourrais me dire ce que signifie le mdp
    0
  7. max1395
     
    svp personne ne peux m'aider ? j'ai vraiment besoin d'aide et en plus c'est super urgent
    0
    1. isis
       
      personnellement je n'y connais rien en sqp mais bon mdp pour moi c'est mot de passe ! c'est bien ce que tu demandais? si non, alors reformule ta question !
      0