这是我的代码管理登录页面,但页面保持刷新,而不是重定向。我已经看了很多文章,但我无法解决这个问题
代码:
<!DOCTYPE HTML>
<HTML>
<head>
<title>Admin Login</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="header">
<h2>Admin Login</h2>
</div>
<form method="post">
<div class="input-group">
<label>Password</label>
<input type="password" id="admin" name="admin">
<?PHP
ob_start();
$admin = ['admin'];
if ($admin == "1234") {
header("Location: admin.php", true, 301 );
die();
exit();
}
?>
</div>
<div class="input-group">
<button type="submit" class="btn">Login</button><br>
</div>
<p>
Already a member? <a href="login.php">Sign in</a><br><br>
Not yet a member? <a href="register.php">Sign up</a>
</p>
</form>
</body>
</html>
我愿意听取建议!
阅读您的代码的意图,我认为您打算在这行中获得admin字段的POST值:
$admin = ['admin'];
要在POST中获取表单字段,您需要使用:
$admin = $_POST['admin'];
你也可以…
- 将整个PHP代码块移动到文件的顶部,因为它不需要在HTML输入之后(当您提交表单时,它将返回到服务器)。 从重定向代码中删除
- 开始关注安全性,因为您的登录表单非常像我们所有人写的第一个登录表单-但是这样做会有问题-如果这只是您的第一次尝试,这不是什么大问题,但是不要向世界暴露任何具有这样的授权代码的东西
die()