Переменная $ _SESSION установлена ​​неправильно, как это исправить? - PullRequest
0 голосов
/ 18 июня 2019

Я использую сервер WAMP 3.1.9 (PHP 7.2.18, Apache 2.4.39) и у меня есть следующий вопрос, касающийся сессий PHP. Рассмотрим следующий код:

test1.php:

<?php 
session_start();
$_SESSION['test'] = 1;
echo $_SESSION['test']." set";
?>

test2.php:

<?php
session_start();
echo $_SESSION['test'];
$_SESSION['test'] = 2;
?>

Когда я использую браузер и загружаю test1.php, я получаю вывод "1 set", как и ожидалось. Но когда я сразу же загружаю test2.php, я получаю «2» вместо «1». Он действует так, как будто test2.php был выполнен дважды, и второй раз вывод разрешен. Я не уверен, что вызывает такое поведение. Пожалуйста, помогите.

1 Ответ

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

Сеансовый ключ $_SESSION['test'] такой же, поэтому он не работает в браузере. если открыть эти файлы в другом браузере, чтобы он работал, кроме того, вам нужно использовать другой ключ одновременно, что означает, что если для сеанса задано имя test, вы не можете использовать ключ 'test' для другого сеанса. использовать сессию, как в кодировке ...

test1.php:

    <?php 
     session_start();
     $_SESSION['test'] = 1;
     echo $_SESSION['test']." set";
    ?>

test2.php:

    <?php
     session_start();
     echo $_SESSION['another-test'];
     $_SESSION['another-test'] = 2;
    ?>

если вы хотите использовать тот же ключ, вам нужно уничтожить предыдущий сеанс, сохраненный с помощью функции ...

session_destroy();

или

unset($_SESSION['test']);
...