viksnamax
@viksnamax
Aliens is here!

Почему сразу не меняется значение переменной $_SESSION, только после перезагрузки страницы?

Почему сразу не меняется значение переменной $_SESSION['login']?
В index.php по нажатия кнопки, отправляется ajax запрос(данные не отправляются) в файл enter_controller.php, далее в enter_controller.php присваивается значение переменной $_SESSION['login'] //изначально равное "guest" и возвращается обратно в index.php, где уже после успешного запроса выводиться значение переменной $_SESSION['login']. Проблема в том, что она не меняется сразу, а только после перезагрузки страницы

index.php
Если не перезагрузить страницу , console.log вернёт guest, а если перезагрузить, то значение переменной $_SESSION['login'] будет равно Hello
$.ajax({
                type: 'POST',
                async: true,
                url: 'php/enter_controller.php',
                success: function(data){
                    console.log("1: "+"<?php echo $_SESSION['login'];?>");
                }
            });


enter_controller.php
require "session.php";
$_SESSION['login'] = "Hello";


session.php
session_start();

if (!isset($_SESSION['login'])) {
    $_SESSION['login'] = "guest";
}
  • Вопрос задан
  • 883 просмотра
Пригласить эксперта
Ответы на вопрос 2
SagePtr
@SagePtr
Еда - это святое
Ответ написан
Комментировать
alex-1917
@alex-1917
Если ответ помог, отметь решением
Хорошо хоть в своей подписи указал, как на самом деле дела обстоят))
У вас ошибка. Системная. Не в коде... Вот она:

Вы зачем-то, впрочем, как и большинстов начинашек, попёрлись в глубины, перед этим как следует нагуглившись... Глубоко залазить в теорию - конечно же хорошо, только причем тут ваши попытки выползти из лабиринта и Тостер? Если бы вы адекватно задали вопрос - нужно получить такие-то данные и вывести их там-то (а это и есть суть вашей проблемы), вам бы давно ответили. Вы же нагуглились по самые помидоры, полезли в основы, до конца их не осознали, ничего не поняли, затем естсессно упёрлись в тупик и... бегом на Тостер...
При этом исходная задача осталась где-то далеко позади.

Это и называется системная ошибка.
таких системщиков мы отшиваем на первых трех вопросах собеседования...

Вы заслужили все эти ответы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы