加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 使用后清除会话变量

发布时间:2020-12-13 13:12:55 所属栏目:PHP教程 来源:网络整理
导读:是否可以使用会话变量,然后直接取消设置? 例: //====//Process Formif ($_POST['Submit']) { $update = $userSettings-update($_POST); //If there are form errors if (!$update) { //Load the errors into an array $errors = $update[1]; } else { //Se
是否可以使用会话变量,然后直接取消设置?

例:

//====
//Process Form
if ($_POST['Submit']) {
    $update = $userSettings->update($_POST);

    //If there are form errors
 if (!$update) {
        //Load the errors into an array
        $errors = $update[1];
    } else {
        //Set the session
        $_SESSION['showUpdated'] = true;

        //Redirect to this page
        header("Location: http://www.mysite.com/settings");
    }
}

//==================

if ($_SESSION['showUpdated']) {
 echo "Settings Updated";
    unset($_SESSION['showUpdated'];
}

所以在提交表单后,如果没有错误:

>设置一个会话来表示提交表单是可以的
>重新加载页面(以防止重新提交POST数据)
>如果设置了’showUpdated’会话变量,则显示“已更新”消息
>取消设置会话变量(所以我们看不到下一次重新加载的消息)

目前的问题是,如果你直接取消设置会话变量;就像在“if exists”部分之前取消设置一样.

任何解决方案?这甚至是最好的办法吗?

非常感谢!

这看起来应该是正常的.确保您在尝试使用会话之前调用session_start(),并在重定向头后始终退出()或死().

我完成了你所做的一切.我在会话中保留一个’message’元素.我将粘贴文本,如“您的数据被保存”,错误消息等.然后,在每个页面(实际上在页面模板类中),我检查看看$_SESSION [‘message’]是否设置空.如果有东西,我将显示该消息并将该值设置为空字符串或为空.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读