@some_idk

Данные на странице обновляются только после перезагрузки?

сделал простую авторизацию и сделал выход из аккаунта, но происходит казус, после того как я нажимаю на кнопку выхода из аккаунта, меня редиректит на основную страницу, но данные там есть и они удаляются только после того как я перезагружу страницу

<?php
    include($_SERVER['DOCUMENT_ROOT'] . "/includes/functions.php");
    check_session();
    setcookie("session_id", "");
    header('Location: '. $site_url);
    exit();
?>


function check_session() {
        include($_SERVER['DOCUMENT_ROOT'] . "/includes/db_connect.php");
        if(!isset($_COOKIE['session_id'])) {
            include($_SERVER['DOCUMENT_ROOT'] . "/includes/header.php");
            exit("<div class=\"error\">
            <p>Вы не авторизованы для доступа в данную часть сайта</p>
            <a href=\"javascript:history.go(-1);\">Вернутся назад</a></div>");
        } else {
            $sql = mysqli_query($link, "SELECT session_id FROM sessions WHERE session_id = '". $_COOKIE['session_id'] . "'");
            $base_session = mysqli_fetch_row($sql);

            if(empty($base_session)) {
                include($_SERVER['DOCUMENT_ROOT'] . "/includes/header.php");
                exit("<div class=\"error\">
                <p>Вы не авторизованы для доступа в данную часть сайта</p>
                <a href=\"javascript:history.go(-1);\">Вернутся назад</a></div>");
            } else {
                $data = date("d.m.Y");
                $sql = mysqli_query($link, "UPDATE sessions SET time_last = '$data' WHERE session_id = '". $_COOKIE['session_id'] . "'");
                if(!$sql) {
                    include($_SERVER['DOCUMENT_ROOT'] . "/includes/header.php");
                    exit("<div class=\"error\">Произошло что-то страшное! Злая база данных разорвала соединение!</div>");
                }
            }
        }
    }
  • Вопрос задан
  • 180 просмотров
Решения вопроса 1
irishmann
@irishmann
Научись пользоваться дебаггером
Никакого казуса нет, просто читай документацию
https://www.php.net/manual/ru/function.setcookie.php
После передачи клиенту cookie станут доступны через массив $_COOKIE при следующей загрузке страницы. Значения cookie также есть в $_REQUEST.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы