Probleme requet sql

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

  • Votes
  • Date
  • Date décroissante
  1. 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?
    1. 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 ?
      1. 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
      2. 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)."'"; 
    2. 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 !'; 
      }
      ?>
      
      
      1. svp personne ne peux m'aider ? j'ai vraiment besoin d'aide et en plus c'est super urgent
        1. 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 !