2014-06-22 18 views
0

我正在制作一个单页的网络应用程序,其中包括注册,登录和搜索表单。目前,搜索和注册功能正在运行,但登录表单无法正常运行。代码如下:为什么我的登录表单无法使用

//Login code 
if(isset($_POST['Name'])){ 
$Name = $_POST['Name']; 
$password = $_POST['password']; 
$message= ''; 
//Handle errors 
if((!$Name) || (!$password)){ 
    $message = 'Please fill in all the fields'; 
}else{ 
    //Secure the data 
    $Name = preg_replace("#[0-9a-z]#i", "", $Name); 
    $password = sha1($password); 
$login_query = mysql_query("SELECT * FROM users WHERE name='$Name' AND password='$password' LIMIT 1") or die("Could not check your details"); 
    $login_count = mysql_num_rows($login_query); 
    if($login_count != 0){//If account does exist 
     //Get the id 
     //while($row = mysql_fetch_array($login_query)){ 
      //$id = $row['id']; 
    // } 
     $logged = 1; 
     $message = 'Logged in'; 
    }else{ 
     $message = 'Your details are incorrect'; 
     $logged = 0; 
    } 
} 
}//Big if statement for login 

我欣赏任何意见或建议。谢谢你在前进

+0

请澄清“不正常”。 首先想到的是,我看你完全不使用[session](http://php.net/manual/en/features.sessions.php)。还建议**不要**使用mysql_ *函数,但[PDO](http://php.net/manual/en/book.pdo.php)或[mysqli](http://fr2.php .net/manual/en/book.mysqli.php)。 –

+0

你应该仔细看看'preg_replace(“#[0-9a-z] #i”,“”,$ Name)'。或者是正确的,例如用户名“用户名”将变成'-'? –

+0

Anthony Garcia - 我的意思是它不会登录并刷新页面,而且我不会使用会话,因为它们是不必要的(它是一个页面的站点) – BTaylor

回答

-1

尝试{}增加变量和``到名在MySQL查询

mysql_query("SELECT * FROM `users` WHERE `name`='{$Name}' AND `password`='{$password}' LIMIT 1") 
+1

有什么用?更好的建议是使用准备好的语句并正确转义。 –

相关问题