【发布时间】:2017-04-07 06:40:39
【问题描述】:
<html>
<head>
</head>
<body>
<form action="login_process.php" method="post">
SID: <input type="text" name="sid">
<br />
Password: <input type="text" name="pw">
<br />
<input type="submit" value="Login">
</form>
</body>
</html>
login_process.php FILE
<html>
<head>
</head>
<body>
<?php
include ("connection.php");
$sid = $_POST['sid'];
$pw = $_POST['pw'];
setcookie("username", "$sid". time()+86400);
$result = mysqli_query($con, "SELECT SID FROM student_table WHERE SID='$sid' and password='$pw'") or die('Query failed');
if(!$result){
echo "Failed";
} else {
echo "success". $_COOKIE['username'];
$_SESSION['username'] = $sid;
}
?>
</body>
</html>
我的student_table 中有数据。但无论我给出什么输入,它都表示成功。即使我在没有任何输入的情况下单击登录按钮,它仍然显示成功。请帮忙。
【问题讨论】:
-
失败怎么办?您能给我们提供更多细节吗?
-
可能需要引用你的
$sid和$pw -
如果您使用 MySQLi,请使用绑定变量,而不是将值直接注入 SQL 查询中
-
哈哈哈,现在总是成功!!!即使我点击空白字段的“登录”。是 if 语句中的东西吗?
-
一个成功的结果并不意味着它找到了一条记录,你必须以不同的方式检查......一个成功的结果意味着一个查询已经执行并且没有错误返回一个,一个或多个结果