PHP-логин получил ошибку «Слишком много перенаправлений»

1

Пожалуйста, помогите мне. Я получал эту ошибку каждый раз, когда я пытался войти в систему. - "Эта веб-страница имеет цикл переадресации ERR_TOO_MANY_REDIRECTS" Пожалуйста, помогите мне, и я буду очень благодарен за вашу помощь. Благодарю.

Это мой index.php

<?php
include('login.php'); // Includes Login Script
?>

Это мой login.php

<?php

session_start();
$error = "";
if (isset($_POST['submit'])) {
    if (empty($_POST['email']) || empty($_POST['password'])) {
        $error = "Username or Password is invalid";
    } else {
        // Define $username and $password
        $usernameLogin = $_POST['email'];
        $passwordLogin = $_POST['password'];
        // Establishing Connection with Server by passing server_name, user_id and password as a parameter
        $connection = mysql_connect("localhost", "apple", "Apple318992");
        // To protect MySQL injection for Security purpose
        $username = stripslashes($usernameLogin);
        $password = stripslashes($passwordLogin);
        $username = mysql_real_escape_string($username);
        $password = mysql_real_escape_string($password);
        // Selecting Database
        $db = mysql_select_db("TS", $connection);
        // SQL query to fetch information of registerd users and finds user match.
        $query = mysql_query("select * from Users where password='$password' AND email='$usernameLogin'", $connection);
        $rows = mysql_num_rows($query);
        if ($rows == 1) {
            $_SESSION['login_user'] = $usernameLogin; // Initializing Session
        } else {
            $error = "Username or Password is invalid";
        }
    }
}



if (isset($_SESSION["login_user"])) {
    header("Location:timesheets.php");
}
?>

Это мой session.php

<?php

include ('DBConnect.php');
session_start(); // Starting Session
// Storing Session
$user_check = $_SESSION['login_user'];
// SQL Query To Fetch Complete Information Of User
$ses_sql = mysql_query("select email from Users where email='$user_check'", $conn);
$row = mysql_fetch_assoc($ses_sql);
$login_session = $row['email'];
if (!isset($login_session)) {
    mysql_close($conn); // Closing Connection
    header('Location: index.php'); // Redirecting To Home Page
}
?>
  • 0
    Что такое timesheets.php ?
  • 0
    Вы не разрушаете свою сессию?
Показать ещё 2 комментария
Теги:
loops
redirect
login

2 ответа

2
Лучший ответ

В вашем сеансе session.php вам нужно уничтожить сеанс, потому что он может быть установлен до сих пор, но без этого запрос может найти существующего пользователя?

Чтобы отключить сеансы, выполните следующие действия:

unset(); с unset(); для всех unset($_SESSION['login_user']); переменных сеанса unset($_SESSION['login_user']); для конкретной сессии

Пожалуйста, поставьте это перед перенаправлением на index.php.

В противном случае я не знаю, как вам помочь.

Также у вас включена ошибка /debug php? Обычно session_start(); должен быть в первой строке в вашем php файле, если я прав, или это вызывает ошибку.

  • 0
    Здравствуй. большое спасибо за это. !! Действительно ценю это. У меня больше нет ошибки, но вход по-прежнему не удается, я имею в виду, что он просто остается на странице index.php. В любом случае, спасибо.
  • 0
    Хорошо, тогда используйте var_dump($_SESSION['login_user']); чтобы увидеть, содержит ли оно правильные значения, и проверить, может ли база данных найти строку с этим значением. Но держу пари, что вы сможете решить эту проблему самостоятельно :)
Показать ещё 2 комментария
3

вместо: header ('Location: index.php');

попробуйте сделать это с помощью javascript:

echo '<script> document.location.href= "index.php" </script>';

Ещё вопросы

Сообщество Overcoder
Наверх
Меню