我使用MYSQL的PHP登录系统使用空值登录。为什么会发生这种情况?
session_start();
$username = $_POST['username'];
$password = $_POST['password'];
mysql_connect("localhost" , "root" , "");
mysql_select_db("deirastaff");
$result = mysql_query("SELECT * FROM users WHERE username ='$username' and password = '$password' ")
or die("Login failed" .mysql_error());
$row = mysql_fetch_array($result);
if ($row['username']==$username && $row['password']==$password) {
$_SESSION['username']=$username;
echo '<script type="text/javascript"> window.open("staff.php","_self");</script>';
//header("location:staff.php");
//echo "Login Successfull "."Welcome ".$row['username'];
}else {
echo '<script type="text/javascript">
window.alert("Login failed!");
window.open("index.php","_self");
</script>';
//header("location:index.php");
//echo "Login Failed !";
break;
}发布于 2017-04-09 12:45:15
MySQLi更适合使用...
但是如果你想使用MySQL,那就试试下面的代码。
if(isset($submit)) //name of your submit button
{
$result = mysql_query("SELECT * FROM users WHERE username ='$username' and password = '$password' ") or die("Login failed" .mysql_error());
if(mysql_num_rows($rs)<1)
{
echo "Login Failed" ;
}
else
{
$_SESSION[username]=$username;
}
}发布于 2017-04-09 13:25:23
在执行查询之前,您可以只检查您拥有的值。
if (!empty($row['username']) && !empty($row['password'])) { ... }您还可以将用户名和密码表设置为不允许空值。
https://stackoverflow.com/questions/43253851
复制相似问题