Webmatrix session_destroy ()

Я написал простой код для переменной $ _SESSION в первом файле php:

 <?php
session_start();
$_SESSION["name"] = "John";
?>

и в другом файле PHP, чтобы сделать это:

  <?php
session_start();
echo $_SESSION["name"];
?>

Но после этого я использовал session_unset(); а также session_destroy(); и после этого я не могу сделать новый $_SESSION переменная, ни существующая. Я использую программу Microsoft WebMatrix и Chrome в качестве основного браузера. Какие-либо предложения? Заранее спасибо.

1

Решение

Это потому, что 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"];
?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]