php – 使用后清除会话变量

前端之家收集整理的这篇文章主要介绍了php – 使用后清除会话变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以使用会话变量,然后直接取消设置?

例:

//====
//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’]是否设置空.如果有东西,我将显示该消息并将该值设置为空字符串或为空.

猜你在找的PHP相关文章