会话在Chrome上无法正常运行

时间:2017-12-11 22:12:55

标签: php session

听起来很奇怪,我遇到的问题只发生在Chrome下。

以下是该方案:

我在控制器中有一个方法search

public function search()
{
    $keyWord = htmlspecialchars(strip_tags($this->get['keyword']));
    if(mb_strlen($keyWord) < 3){
        $this->flashMessage->warning('keyword is too short');
        redirect(SITE_ADDR . '/forum');
    }
   ......
}

简单明了 - 如果$ _GET中的关键字少于3个字符 - 在$ _SESSION中保存一条消息并重定向。但是,如果我转到搜索页面(例如site.com/forum/search/?keyword=fff)(注意$ _GET中有3个字符)并且开始刷新非常快,则会随机设置错误消息,但永远不会调用重定向功能。我尝试在exit();之后插入$this->flashMessage->warning来停止脚本,并且脚本停止没有问题但是从不调用重定向函数。对于1或2个字符,重定向没有问题。当错误消息甚至不应该在会话中设置时,仅适用于3个或更多字符。

这只发生在Chrome中。我试过Firefox和Opera,没有这样的问题。我试图隐姓埋名但没有改变。任何人都知道为什么会这样?

我没有使用框架或任何东西。

1 个答案:

答案 0 :(得分:0)

我找到了这种情况发生的原因。谁会想到?

Session data lost in Chrome only

相关问题