我正在为登录页面编写代码布尔值,并设置用户名和密码(如果为true),该用户名和密码将定向到新页面,但是如果为false,我想在该用户名和密码错误的情况下打印通知,但我编写的代码没有要做到这一点,我需要帮助,我的代码有什么问题吗?
我试图找到我的代码有什么问题,并在互联网上寻找它,但我不知道该怎么办,我是学生
<?php
if( isset($_POST["submit"]) ){
if( $_POST["username"] == "admin" && $_POST["password"] == "123" ){
header("Location: admin.php");
exit;
} else {
$error = true;
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Login</title>
</head>
<body>
<h1>login admin</h1>
<?php if ( isset($error) ) : ?>
<p style="color: red; font-style: italic">wrong username or password!
</p>
<?php endif; ?>
<ul>
<form action="admin.php" method="post">
<li>
<label for="username">username : </label>
<input type="text" name="username" id="username">
</li>
<li>
<label for="password">password : </label>
<input type="password" name="password" id="password">
</li>
<li>
<button type="submit" name="submit">Login</button>
</li>
</form>
如果用户名和密码错误,我希望打印一条通知
答案 0 :(得分:0)
我的猜测是,实际上您希望当前脚本处理该表单时,您的表单将直接发布到admin.php
。
从您的表单中删除action="admin.php"
,以便其自动发布。然后,当脚本处理表单时,它将为您处理重定向。
<form method="post">
...
OR
将操作更改为当前脚本的名称。
<form action="name_of_script.php" method="post">
...
您丢失了结束的</body>
和</html>
标签。
答案 1 :(得分:-2)
你是这个意思吗?
if (isset($_POST["submit"])) {
if ($_POST["username"] == "admin" && $_POST["password"] == "123") {
header("Location: admin.php");
exit;
} else {
echo 'username or password is incorrect';
exit;
}
}