我使用会话$_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']
是否可行,或者是否有另一种方式?
答案 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时那样,然后再从那里将它存储在会话中