Начать сессию после уничтожения php - PullRequest
2 голосов
/ 21 октября 2011

У меня есть файл выхода для моего веб-приложения.Я хотел бы создать сеанс после выхода из системы, чтобы я мог отобразить сообщение об успешном выходе из системы.Мой код выхода из системы работает, но я не могу создать новый сеанс после уничтожения предыдущего.

Каков наилучший способ сделать это, см. Код:

//LOGOUT.PHP
session_start(); 

//// unset all $_SESSION variables
session_regenerate_id();
session_unset();
session_destroy();

$_SESSION['logoutsuccess'] = 'You have successfully logged out.';
header("Location: /login/");
exit;


//LOGIN.PHP (ECHO SUCCESS MESSAGE)

if(isset($_SESSION['logoutsuccess']))
{
echo '<div class="success">'.$_SESSION['logoutsuccess'].'</div>'; 
unset($_SESSION['logoutsuccess']);
}

Я хотел быпо возможности избегайте передачи переменных в URL.

Ответы [ 4 ]

10 голосов
/ 21 октября 2011

Позвоните session_start() снова после session_destroy()?

5 голосов
/ 21 октября 2011

Просто начните новый сеанс:

session_start();
session_destroy();
session_start();
$_SESSION['food'] = 'pizza';
3 голосов
/ 21 октября 2011

Вместо того, чтобы пытаться сохранить его как переменную сеанса, вы можете проверить реферер и проверить / logout /

if(strpos($_SERVER['HTTP_REFERER'], 'logout')  !== false) {
  echo 'You have successfully logged out.';
}
0 голосов
/ 31 июля 2014
session_id($session_id_to_destroy);
session_start();
session_destroy();
session_commit();
...