如何在PHP会话中保留一个值

时间:2018-04-19 11:46:39

标签: php session session-variables

我使用会话$_SESSION['base64'] = base64_decode($_GET['url']);保存base64解码,在我保存后我想销毁所有会话但我不想破坏$_SESSION['base64']

这里是我的代码

session_start();

if (isset($_GET['url'])) {
    $normal_link =  $_GET['idc'];
    $_SESSION['base64'] = base64_decode($_GET['url']);
    header('Location: save1.php?idc='.$normal_link);
}
/**/
if (isset($_SESSION['base64'])) {
    echo $_SESSION['base64'];
} else {
    echo "Base64 Session not Recorded";
}
session_unset();
session_destroy();

当我运行我的代码时,它会给我Base64 Session not Recorded。我希望它能给我解码的网址。在破坏会话之后保留$_SESSION['base64']是否可行,或者是否有另一种方式?

2 个答案:

答案 0 :(得分:0)

您可以使用默认功能删除session_unregister('base64')。更多内容还有documentation

重要提示: session_unregister()自PHP 5.3.0起已弃用, REMOVED 自PHP 5.4.0起已弃用。

因此,您应该使用unset,例如unset($_SESSION['base64'])

答案 1 :(得分:0)

首先,您应该检查您是否真的想要或需要销毁会话。如果是这样,假设该值不是机密,您可以将浏览器重定向到您作为参数传递base64值的URL,就像您重定向到save1.php时那样,然后再从那里将它存储在会话中