破坏php后启动会话

时间:2011-10-20 22:50:55

标签: php session echo logout destroy

我的网络应用程序有一个注销文件。我想在注销后创建一个会话,以便我可以回显注销成功消息。我的注销代码有效但我在销毁前一个会话后无法创建新会话。

执行此操作的最佳方法是什么,请参阅代码:

//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']);
}

如果可能,我想避免在网址中传递变量。

4 个答案:

答案 0 :(得分:10)

session_start()之后再次致电session_destroy()

答案 1 :(得分:5)

刚开始一个新会话:

session_start();
session_destroy();
session_start();
$_SESSION['food'] = 'pizza';

答案 2 :(得分:3)

您可以检查引用并检查/ logout /

,而不是尝试将其存储为会话变量
if(strpos($_SERVER['HTTP_REFERER'], 'logout')  !== false) {
  echo 'You have successfully logged out.';
}

答案 3 :(得分:-1)

session_id($session_id_to_destroy);
session_start();
session_destroy();
session_commit();