销毁 php 后启动会话

发布于 2024-12-11 15:18:05 字数 582 浏览 0 评论 0原文

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

最好的方法是什么,请参阅代码:

//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 中传递变量。

I have a logout file for my web application. I would like to create a session after the logout so that I can echo a logout success message. My logout code works but I am unable to create a new session after destroying the previous one.

What is the best way to do this, see code:

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

I would like to avoid passing variables in the url if possible.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

分開簡單 2024-12-18 15:18:05

session_destroy() 之后再次调用 session_start() 吗?

Call session_start() again after session_destroy()?

Spring初心 2024-12-18 15:18:05

只需开始一个新会话:

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

Just start a new session:

session_start();
session_destroy();
session_start();
$_SESSION['food'] = 'pizza';
风铃鹿 2024-12-18 15:18:05

您可以检查引用并检查 /logout/,而不是尝试将其存储为会话变量

if(strpos($_SERVER['HTTP_REFERER'], 'logout')  !== false) {
  echo 'You have successfully logged out.';
}

Instead of trying to store it as a session variable, you could check the referer and check for /logout/

if(strpos($_SERVER['HTTP_REFERER'], 'logout')  !== false) {
  echo 'You have successfully logged out.';
}
微暖i 2024-12-18 15:18:05
session_id($session_id_to_destroy);
session_start();
session_destroy();
session_commit();
session_id($session_id_to_destroy);
session_start();
session_destroy();
session_commit();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文