我正在尝试构建一个登录表单,以便我在数据库中指定的管理员可以将图像插入我的数据库。
我有一些错误:
1)我<?php echo $_SERVER['PHP_SELF']; ?>
用来调用自己(调用Login.php),所以它会加载它下面的PHP代码(在同一个文件中)。每当我按下提交时,它不会转到 php 代码中的指定标头,而是返回到 homepage.php。
Login.php:管理员登录表单 html
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table>
<tr>
<td>Username: </td><td><input type="text" name="username"></td>
</tr>
<tr>
<td>Password: </td> <td><input type="text" name="pw"></td>
</tr>
</table>
<br />
<input type="submit" value="Log in">
</center>
2) 第二个问题是...查看 php 代码,我试图找到一个函数,它可以让我获取关联数组的特定键。例如,我运行数据库查询并将其作为关联数组存储在 $result 中,然后返回。然后我想从 users 表中获取一个键(“用户名”和“密码”)并将它们与上述 html 表单的输入进行比较。
我试过使用array_keys,但这需要一个数组,而不是一个对象。所以我投了它,它仍然不起作用。
我print_r(array_keys($userResult, "username"));
用来看看它是否会打印我想要的密钥。
Login.php php代码
<?php
$username = isset($_POST['username']) ? $_POST['username'] : "";
$password = isset($_POST['pw']) ? $_POST['pw'] : "";
$userResult = verify($username, $password);
$array = (array)$userResult; //cast to array
print_r(array_keys($userResult, "username"));
if(array_keys($userResult, "username") == "dan" && array_keys($userResult, "password") == "12345") {
header("Location: ?action=admin");
}
else {
echo "<center>Incorrect credentials</center>";
}
function verify($user, $pw) {
include './scripts/dbconnect.php';
$result = $mysqli->query("SELECT username, password FROM users WHERE username='" . $user . "' AND password='" . $pw . "'");
return $result;
}
include 'include/footer.php';
?>
任何想法将不胜感激!