php – 解决会话变量问题

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 解决会话变量问题脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我的网站上有一个用于邀请朋友的表单.这是一个简单的文本字段和一个提交按钮.如果有错误,我会重定向回此页面显示错误消息(如果它们是会话变量集).
if (isset($_SESSION['invITe_error'])) {
   echo $_SESSION['invite_error'];
   unset($_SESSION['invite_error']);
}

但是,如果我离开此页面并返回到该页面,则仍会显示错误消息.如果我离开并再次回来,它将会完成.当我刷新那个页面时它是一样的… 1刷新不会摆脱它,但2会.我不能破坏整个会话,我只是想取消设置这个变量. PHP版本是5.2.5 build 6,注册全局变量关闭的,我在这页面的顶部调用session_start(),我也尝试过使用no-cache标头.

编辑:添加完整代码.

<?PHP 
ob_start();
session_start();

$user_id = $_SESSION['user_id'];
$user_name = $_SESSION['user_name'];

if ($user_id==null) header("Location: /login.PHP");

if (isset($_SESSION['invite_errors'])) {

    $error = $_SESSION['invite_errors'];
    unset($_SESSION['invite_errors']);

}

require_once("ui/header.PHP");
?>



<div id="invite" class="content">

    <?PHP if($error) { ?>
        <div class="errors round">
            <?PHP echo $error ?>
        </div>
    <?PHP } ?>

    <h3>Invite Your Friends</h3>

    <div class="invite-form">
        <form method="post" action="controllers/invite.PHP">
            <div class="row">
                <textarea class="txt-area" name="emails" id="emails" rows="5"></textarea>
                <div class="tip">Separate multiple email addresses with,</div>
            </div>
            <div class="row-submit">
                <input tyPE="submit" name="submit" id="submit" class="submit-BTn" value="Submit" />
            </div>
        </form>
    </div>

</div>

<?PHP
    require_once("ui/footer.PHP");
?>
开始输出缓冲之前启动会话.因此,切换ob_start()和session_start()调用.

由于会话cookie在发送到浏览器的标头中定义,并且在启动缓冲区时标头会发送到浏览器,因此必须在缓冲区之前启动会话.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 解决会话变量问题全部内容,希望文章能够帮你解决php – 解决会话变量问题所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。