今天我制作了一个应该登录的代码,但遗憾的是它不会。
这是我试过的:
include('php/mysqlcon.php');
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = $_POST['username'];
$password = sha1($_POST['password']);
$query = mysql_query("SELECT * FROM user WHERE username=$username AND password=$password");
$query_rows = mysql_num_rows($query);
if($query_rows > 0) {
session_start();
$_SESSION['username'] = $username;
header('Location: index.php');
} else {
echo('bad login');
}
}
mysql详细信息在mysqlcon.php中,我确定它们是正确的
答案 0 :(得分:7)
您需要在查询中输入用户名和密码的引号。此外,请确保过滤输入,因为您的代码很容易注入mysql。
答案 1 :(得分:2)
在创建mysql查询时,您需要将$username
和$password
包装在引号中,目前在大多数情况下最终会出现错误查询。
你还应该google“如何防止sql-injection php”,当你遇到这种类型的攻击时(这会导致严重的麻烦)。
答案 2 :(得分:0)
使用预准备语句并将凭据放入SQL查询的参数中。
答案 3 :(得分:0)
"SELECT * FROM user WHERE username='$username' AND password='$password'"