Как направить пользователя на клиентский портал с помощью PHP - PullRequest
0 голосов
/ 15 июня 2019

Я пытаюсь направить пользователя к client_portal.php, если он заходит в login.html, когда уже вошел в систему.

  • Попытка создания третьего файла .php, который включает сеансинформация и проверено, если login_user был установлен

  • Пробовал с помощью jQuery "window.location.replace ();"для автоматической маршрутизации пользователя каждый раз

Это код из третьего PHP-файла, checkLogin.php

include("session.php");

    if (isset($_SESSION['login_user'])) {
        header("Location: client_portal.php");
        die();
    }

Это из sessions.php - БДзаполнитель для фактической информации (которая является частной)

    $link = mysqli_connect('DB', 'DB', 'DB', 'DB'); //Connect to the database

    session_start();    

    //Preparing the SQL statements
    $stmt1 = mysqli_prepare($link,"SELECT username, first_name FROM login WHERE username =?");

    //Binding the SQL statements
    mysqli_stmt_bind_param($stmt1, "s", $user_check);

    $user_check = $_SESSION['login_user']; //Checking if the user has a login session active
    mysqli_stmt_execute($stmt1);

    $result = mysqli_stmt_get_result($stmt1); //Get the result

    $row = mysqli_fetch_assoc($result); //Setting the array

    $_SESSION["login_session"] = $row['username']; //Setting a session under the username
    $firstName = $row["first_name"];

    if(!isset($_SESSION['login_user'])) {
        header("Location: /login");
        die();
    } 

Ожидается: маршрутизировать пользователя на клиентский портал. Actual: Загружает страницу входа как обычно

Ответы [ 3 ]

0 голосов
/ 15 июня 2019

вы неправильно устанавливаете переменную сеанса. Вот правильный путь.

$_SESSION['login_session'] = $row['username']; //Setting a session under the username
0 голосов
/ 16 июня 2019

Я думал, что выложу свой ответ, если кто-то захочет использовать его для своего проекта: loggedIn.php

$link = mysqli_connect('DB', 'DB', 'DB', 'DB'); //Connect to the database

    if (!$link) { 
        die('Could not connect: ' . mysqli_connect_error()); 
    }

    session_start();

    $stmt = mysqli_prepare($link,"SELECT logged_in FROM login WHERE username=?");
    mysqli_stmt_bind_param($stmt, "s", $user_check);

    if(!isset($_SESSION['login_user'])) { //Checking if the session is not set
        $user_check = ""; //Make the $user_check null
    } else { //if
        $user_check = $_SESSION['login_user'];
    }

    mysqli_stmt_execute($stmt);

    $result = mysqli_stmt_get_result($stmt);
    $row = mysqli_fetch_assoc($result);

    $loggedIn = $row["logged_in"];

Главная страница входа:

    include("loggedIn.php");

    if ($loggedIn == 1) {
        header("Location: client_portal.php");
        die();
    }
0 голосов
/ 15 июня 2019

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

Вот ответы на вопросы о том, чтотакое промежуточное ПО Что такое промежуточное ПО в laravel?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...