2010-04-19 9 views
2

Je suce à php, et ne peux pas trouver l'erreur ici. Le script obtient 2 variables "nom d'utilisateur" et "mot de passe" d'un code html puis les compare à une base de données MySQL. Quand je lance ce que je reçois l'erreur de suivi « Requête était vide »autoriser l'utilisateur à partir de la base de données mysql

<? 
if ((!$_POST[username]) || (!$_POST[password])) { 
    header("Location: show_login.html"); 
    exit; 
} 
$db_name = "testDB"; 
$table_name = "auth_users"; 
$connection = @mysql_connect("localhost", "admin", "pass") or die(mysql_error()); 
$db = @mysql_select_db($db_name, $connection) or die(mysql_error()); 
$slq = "SELECT * FROM $table_name WHERE username ='$_POST[username]' AND password = password('$_POST[password]')"; 
$result = @mysql_query($sql, $connection) or die(mysql_error()); 
$num = mysql_num_rows($result); 
    if ($num != 0) { 
     $msg = "<p>Congratulations, you're authorised!</p>"; 
    } else { 
     header("Location: show_login.html"); 
     exit; 
    } 
?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Secret Area</title> 
</head> 

<body> 
<? echo "$msg"; ?> 

</body> 
</html> 

Répondre

3

vous passez $sql-mysql_query mais vous avez réellement stocké la requête dans $slq

+0

+1 hehe Quelle prise !!!! –

+0

merci beaucoup! Il m'aurait fallu 3 heures pour choisir ça! – Jacksta

Questions connexes