【问题标题】:How to keep a value in a PHP Session如何在 PHP 会话中保留一个值
【发布时间】:2018-04-19 20:25:22
【问题描述】:

我使用会话$_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。我希望它给我我解码的 url。销毁会话后是否可以保留$_SESSION['base64'],或者是否有其他方法?

【问题讨论】:

  • 除非重定向到它自己,否则你的会话检查不会发生

标签: php session session-variables


【解决方案1】:

您可以使用默认函数删除该session_unregister('base64')。更多内容请关注documentation

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

所以你应该使用unset,比如unset($_SESSION['base64'])

【讨论】:

  • 他要求在会话中保留该值,所以我怀疑他是否想取消设置。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    相关资源
    最近更新 更多