【发布时间】:2016-01-24 00:12:02
【问题描述】:
我目前正在做一个课堂项目,我必须根据数据库验证用户名和密码。我将用户名和密码的值存储在单独的数组中,并尝试验证用户输入是否与其中的值之一匹配。但是,这并没有发生,我不知道如何解决它。感谢您的帮助!
<?
connectDB();
$sql = "SELECT* FROM employee";
$result = mysqli_query($db,$sql) or die ("SQL error: " . mysqli_error());
$row = mysqli_fetch_array($result);
$password = array();
$username = array();
while($row = mysqli_fetch_array($result))
{
$password[] = $row['emp_pword'];
$username[] = $row['emp_username'];
}
var_dump($password);
var_dump($username);
?>
<?php if (isset($_REQUEST['page1_submit'])) {
if (($_REQUEST['pword'] == $password) and ($_REQUEST['user'] == $username)) {
header('location:home_agent.php');
} else { ?>
<h2>Wrong Password! Try again.</h2>
<form method="POST" action="login.php">
<table class="info">
<tr>
<th>Username:</th>
<td><input type="text" NAME="username" />
</td>
<th>Password:</th>
<td><input type="password" NAME="pword" /></td>
</tr>
</table>
<input class="submit" type="submit" name="page2_submit" value="SUBMIT" />
<input class="submit" type="reset" value="RESET" />
</form>
<?php }
【问题讨论】:
-
您的查询错误。将
WHERE添加到您的查询中,并查找与您从用户那里获得的用户名和密码相匹配的记录。这样你只得到一行(或者根本没有,如果细节不匹配。)并查看如何使用准备好的语句。 -
谢谢,成功了!你知道为什么我会收到这个错误:注意:未定义的索引:第 24 行 C:\wamp\www\Project\login.php 中的用户
-
您的代码中有错字 -
$_REQUEST['user']应该是$_REQUEST['username']。
标签: php sql database passwords