Php 为什么我的登录表单不起作用

Php 为什么我的登录表单不起作用,php,html,jquery-mobile,login,Php,Html,Jquery Mobile,Login,我正在制作一个单页的web应用程序,其中包括注册、登录和搜索表单。目前,搜索和注册功能正在运行,但登录表单无法正常运行。代码如下: //Login code if(isset($_POST['Name'])){ $Name = $_POST['Name']; $password = $_POST['password']; $message= ''; //Handle errors if((!$Name) || (!$password)){ $message = 'Please fi

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

//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

我感谢你的建议。提前感谢您

尝试在MySQL查询中向变量添加{},向名称添加``

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

请澄清,该设备不能正常工作。乍一看,我看你根本没用。还建议不要使用mysql_*函数,而是使用或替代。您应该仔细查看preg_replace[0-9a-z]i$Name。或者用户名会变成-?Anthony Garcia-,我的意思是它不会让你登录并刷新页面,我不会使用会话,因为它们是不必要的。这是一个单页站点,有什么用?更好的建议是使用准备好的语句和正确的转义。