我正在尝试制作一个小型登录表单。用户必须输入用户名和密码,如果用户名和密码与数据库中的用户名和密码匹配,则应进入主页。
到目前为止我所拥有的:
<html>
<body>
<?php
$username = $_POST['username'];
$password = $_POST['password'];
$tUsers_Select = "SELECT ID, username, password FROM users WHERE username = ".$username;
$tUsers_Select_Query = mysqli_query($dbConnect, $tUsers_Select);
$row = mysqli_fetch_array($tUsers_Select_Query);
$ID = $row['ID'];
$dbusername = $row['username'];
$dbpassword = $row['password'];
$dbSecurePassword = md5($dbpassword);
if(isset($username) AND isset($password)) {
if ($username == $dbusername AND $password == $dbpassword) {
echo "Username and password match.";
} else {
echo "Username and password do not match.";
}
} else {
echo "Username and password are not set";
}
?>
<form action="index.php" method="post">
<label for="username">Username</label>
<input type="text" name="username"><br />
<label for="password">Password</label>
<input type="password" name="password"><br /><br />
<button type="submit" name="submit">Login</button>
</form>
</body>
我遇到的错误:
如果您需要更多详细信息,请评论。
最佳答案
首次加载页面时未设置用户名和密码。
更改用户名/密码分配以使用以下语法:
$username = isset($_POST['username']) ? $_POST['username'] : false;
$password = isset($_POST['password']) ? $_POST['password'] : false;
然后:
if (!$username or !$password) {
//don't run the rest of the PHP login code because nothing was provided
}
关于php - 登录表单小错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31664402/