2011-05-26 3 views
0
$con = mysql_connect("xx","xx","xx"); 
    if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
    mysql_select_db("ban", $con); 
$pass=$_POST["password"];-------------> line 10 
$mail=$_POST["email"];----------------->line 11 

$result31 = mysql_query 
("SELECT * FROM `users` WHERE email = '$mail'AND password='$pass'"); 

    $login_check = mysql_num_rows($result31); 
    echo $login_check; 

    mysql_close($con) 

cela fait partie d'un système de connexion, mais il ne fonctionne pas correctementphp problème de système de connexion

erreur je suis arrivé était: -

Notice: Use of undefined constant password - assumed 'password' in D:\wamp\www\phpadder.php on line 10 

Notice: Use of undefined constant email - assumed 'email' in D:\wamp\www\phpadder.php on line 11 

Warning: mysql_num_rows() expects parameter 1 to be resource, string given in  D:\wamp\www\phpadder.php on line 17 

ce qui ne va pas avec elle?

+0

où est la ligne 10 de votre code – Ibu

+0

je suppose que vous l'avez écrit correctement dans votre question vérifier si vous avez écrit de la même manière dans votre code – Ibu

+0

je l'ai écrit comme en question –

Répondre

1

Sur votre erreur, il dit que vous avez oublié le symbole de $ avant votre variable de mot de passe,

mais aussi

Votre requête doit être

("SELECT * FROM `users` WHERE email = '$mail' AND password='$pass'"); 

vous avez oublié d'ajouter un espace entre le courrier et ET

envisagez également d'échapper à vos valeurs avant de l'utiliser dans la requête

$sql = "SELECT * FROM `users` WHERE email = '%s' AND password='%s'"; 
$sql = sprintf($sql,mysql_real_escape_string($mail),mysql_real_escape_string($pass)); 

maintenant vous pouvez interroger

$result = mysql_query($sql); 
1

L'erreur que vous voyez est parce que que vous utilisez probablement quelque part $_POST[password] et $_POST[email].
Cependant, ce ne sont que des avis, et si vous les lisez bien, vous verrez qu'ils auront le même effet que l'utilisation des guillemets autour d'eux (que vous devriez vraiment!)

Mais votre requête est pas correcte, cela créer une requête valide:

$result31 = mysql_query ("SELECT * FROM utilisateurs WHERE email = '$mail' AND password='$pass'");

Notez l'espace supplémentaire entre '$mail' et AND.