在这里和那里环顾四周后,我设法创建了一个简单的登录。我可以使用我的用户ID和密码登录,但不幸的是,登录验证不起作用。当我输入错误的密码或将文本字段留空并单击登录时,表单将仅重置。它没有显示错误消息。我确定我错过了一些东西,但我不知道它是什么。
请帮帮我。谢谢:))
这是我的代码:
的index.php
<?php
session_start();
$conn = new PDO ('mysql:host=localhost;dbname=test','root','');
if (isset($_POST['login'])){
$UserId = $_POST['UserId'];
$UserPwd = $_POST['UserPwd'];
if(empty($UserId) && empty($UserPwd)) {
$message = "Username/Password con't be empty";
}
else
{
$sql = "SELECT UserId, UserPwd FROM user WHERE UserId=? AND UserPwd=? ";
$query = $conn->prepare($sql);
$query->execute(array($UserId,$UserPwd));
if($query->rowCount() >= 1) {
$_SESSION['UserId'] = $UserId;
header("location: login.php");
}
else
{
$message = "Username/Password is wrong";
}
}
}
?>
<html>
<head><title>Login</title></head>
<body>
<form method="post" name="login">
<input type="text" name="UserId">
<input type="text" name="UserPwd">
<input type="submit" name="login" value="Login">
</form>
</body>
</html>
答案 0 :(得分:0)
你只是忘了回复你的$message
。这就是你没有得到任何信息的原因。
在页面顶部声明您的消息
$message = "";
<html>
<head><title>Login</title></head>
<body>
<span><?php echo $message?></span>// echo your message here
<form method="post" name="login">
<input type="text" name="UserId">
<input type="text" name="UserPwd">
<input type="submit" name="login" value="Login">
</form>
</body>
</html>