Php 为什么我的登录表单不起作用
我正在制作一个单页的web应用程序,其中包括注册、登录和搜索表单。目前,搜索和注册功能正在运行,但登录表单无法正常运行。代码如下: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
//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-,我的意思是它不会让你登录并刷新页面,我不会使用会话,因为它们是不必要的。这是一个单页站点,有什么用?更好的建议是使用准备好的语句和正确的转义。