gpt4 book ai didi

php - 页面未重定向到具有正确用户名和密码的索引

转载 作者:行者123 更新时间:2023-11-28 23:38:33 25 4
gpt4 key购买 nike

我有很多用户可以使用网站的安全部分,现在我正专注于让它能够登录和注销。我无法将此页面重定向到原始页面。当我第一次访问 index.php 时,它会像它应该的那样重定向到 Login.php。但是当我在页面中输入正确的用户名和密码并提交时,它只是重定向回 l​​ogin.php。但它没有将 $_SESSION["correct"] 的参数设置为 false,就像它应该重定向回 l​​ogin.php 一样,而是将其设置为 TRUE。在输入正确的用户名或密码之前,甚至不应该设置 $_SESSION["correct"]。这一切都在我的 verify.php 中完成。我正在回应“记录的”和“正确的” session 数据的值,以验证它们是否已设置以及它们的值是什么。

登录.PHP

<div class="panel panel-default">
<div class="panel-heading">
<h3>Administration Login</h3>
</div>
<form action="verify.php" method="post">
<div class="panel-body">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<?php
echo $_SESSION['logged'] . '<br>';
echo $_SESSION['correct'] . '<br>';
?>
<input class="form-control" type="text" placeholder="Username" name="username" id="username" required autofocus>
</div>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<input class="form-control" type="password" placeholder="Password" name="password" id="password" required>
</div>
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
<button type="submit" class="btn btn-success btn-block">Login</button>
</div>
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
<button type="reset" class="btn btn-danger btn-block">Clear</button>
</div>
</div>
</form>
</div>

验证.PHP

<?php
session_start();
require ("../_php/connectInfo.php");

$username = mysqli_real_escape_string($conn, $_POST['username']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
$query = "SELECT id, username, password FROM info";
$result = $conn->query($query);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
if ($row['password'] == $password && $row['username'] == $username) {

$_SESSION["logged"] = TRUE;
$_SESSION["correct"] = TRUE;
header("location: index.php");
exit;
}
}
$_SESSION["correct"] = FALSE;
header("location: login.php");
} else {
header("location: login.php");
}
?>

最佳答案

您必须使用 die();exit; 而不是 break;:

(...)
while ($row = $result->fetch_assoc()) {
if ($row['password'] == $password) {

$_SESSION["logged"] = TRUE;
$_SESSION["correct"] = TRUE;
header("location: index.php");
break; # -----
} # |
} # |
$_SESSION["CORRECT"] = FALSE; # <----
header("location: login.php");
(...)

当你打破 while 循环时,你将 $_SESSION['CORRECT'] 定义为 False 并将用户发送到登录页面,无论如何。

关于php - 页面未重定向到具有正确用户名和密码的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35072687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com