Система входа в систему с использованием txt-файла выдает ошибку: localhost перенаправляет вас слишком много раз - PullRequest
0 голосов
/ 31 декабря 2018

На моем сайте есть система входа в систему php, которую я разрабатываю в автономном режиме с использованием XAMPP.Каждый раз, когда я пытаюсь использовать систему входа в систему, я получаю эту ошибку:

localhost перенаправлял вас слишком много раз.

Я пытался проверить, но не могу найти какую-либо помощь.

Вот мой код в index.php:

<?php
session_start();

$userKey = $_POST['userKeySubmitted'];
$keylist = file('priv/keys.txt');

$success = false;
foreach ($keylist as $key) {
    $user_details = explode('|', $user);
    if ($user_details[0] == $userKey) {
        $success = true;
        if ($success) {
            header('Location: user.php');
            $_SESSION['userKey'] = $userKey;
            break;
        } else {
            break;
        }
    }
}
?>

....

<form method="post" action="index.php">
    <input type="text" name="userKeySubmitted" class="form-control" placeholder="XXXX-XXXX-XXXX-XXXX">
    <br>
    <button type="submit" name="submit" class="btn btn-info btn-fill pull-right">Login</button>
    <div class="clearfix"></div>
</form>




In user.php:

<?php
session_start();
if (isset($_SESSION['userKey'])) {
    $key = $_SESSION['userKey'];
    echo "<h1>Welcome</h1>";
} else {
    header('Location: index.php');
    die();
}
?>

1 Ответ

0 голосов
/ 31 декабря 2018

Вы перенаправляете до , устанавливаете значение сеанса:

header('Location: user.php');
$_SESSION['userKey'] = $userKey;

Затем вы проверяете значение и, если его там нет, перенаправляете обратно:

if (isset($_SESSION['userKey'])){
    //...
}
else {
    header('Location: index.php');
    die();
}

Так как это не было установлено, это перенаправляет назад.Это продолжается в бесконечном цикле между двумя страницами.

Установите значение перед перенаправлением:

$_SESSION['userKey'] = $userKey;
header('Location: user.php');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...