Php 如何在会话\u destroy()之后保留$\u会话数组的某些值?

Php 如何在会话\u destroy()之后保留$\u会话数组的某些值?,php,session,Php,Session,我使用$\u会话数组保存我网站的语言,它工作正常,但最近我在注销网站时发现一些问题,我使用以下代码: <?php if (isset($_SESSION['logged_in'])) { session_destroy(); header('Location: ./index.php'); } ?> 是否可以在此处执行某些操作以保留该值???如果该值不包含合理的信息,请将其保存在Cookies中。添加会话\u启动;课后销毁;但是,为什么不将la

我使用$\u会话数组保存我网站的语言,它工作正常,但最近我在注销网站时发现一些问题,我使用以下代码:

<?php
if (isset($_SESSION['logged_in'])) 
{
        session_destroy();
        header('Location: ./index.php');
}  
?>

是否可以在此处执行某些操作以保留该值???

如果该值不包含合理的信息,请将其保存在Cookies中。

添加会话\u启动;课后销毁;但是,为什么不将lang param保存在cookie中呢?语言首先不应该存储在会话中。它应该在URL中,这样您的内容的不同语言版本都有自己的地址,可以对其进行爬网、添加书签、发送给其他用户等@JustinIurman感谢您的帮助:一旦会话超时,您将丢失lang设置。。。这是因为会话不是永久存储的,我建议您使用cookies作为语言。为什么-??将所选语言保存在cookies中而不是会话中不是一个坏习惯!它在会话销毁后永久处于活动状态,不包含任何敏感信息。这只是一个建议。这是真的,会话是用于会话数据的,永久数据应该放在cookie中。
<?php
if (isset($_SESSION['logged_in'])) 
{
        $lang = $_SESSION['lang'];
        session_destroy();
        $_SESSION['lang'] = $lang;//if I echo this $_SESSION['lang'] I get the website language but after header('Location: ./index.php');  it still deleting the lang variable
        header('Location: ./index.php');
}  
?>