Я написал простой код для переменной $ _SESSION в первом файле php:
<?php
session_start();
$_SESSION["name"] = "John";
?>
и в другом файле PHP, чтобы сделать это:
<?php
session_start();
echo $_SESSION["name"];
?>
Но после этого я использовал session_unset()
; а также session_destroy()
; и после этого я не могу сделать новый $_SESSION
переменная, ни существующая. Я использую программу Microsoft WebMatrix и Chrome в качестве основного браузера. Какие-либо предложения? Заранее спасибо.
Это потому, что session_destroy (); уничтожает текущий сеанс, а также отправляет заголовок в браузер для удаления переменной сеанса. В то же время сеанс удаляется на сервере (в PHP), и переменные $ _SESSION больше не могут использоваться. Вы всегда можете попытаться сохранить $ _SESSION в другой переменной;
session_start();
$_SESSION['test'] = 'foo';
Следущая страница:
session_start();
$saveSession = $_SESSION;
session_destroy();
var_dump($_SESSION); //Gives an empty array
var_dump($saveSession); //Still has ['test' => 'foo']
Дополнительная информация: http://php.net/manual/en/function.session-destroy.php а также http://php.net/manual/en/book.session.php
Кроме того, sidenote, вам не нужно открывать и закрывать теги PHP, если они объединены;
<?php
session_start();
echo $_SESSION["name"];
?>
работает так же хорошо, как
<?php
session_start();
?>
<?php
echo $_SESSION["name"];
?>
Других решений пока нет …