繁体   English   中英

Zend框架会话丢失了

[英]Zend framework session lost

我有一个注册表,当用户注册时,它会将他重定向到他的页面。 所有工作在firefox和chrome都很好,但在Internet Explorer中。 看起来在保存用户信息后,会话已关闭,并且不会将用户重定向到他的页面。

如何在IE上修复此问题?

$user = $this->_helper->model('Users')->createRow($signupForm->getValues());   
        if ($user->save())
        {               
            Zend_Session::rememberMe(186400 * 14);
            Zend_Auth::getInstance()->getStorage()->write($user);
            $user->sendSignUpEmail();
            $this->getHelper('redirector')->gotoRoute(array(), 'invite');
            return;
        }

我有一个类似的问题,在重定向之前在IE上的iframe中创建会话,这对我有用:尝试放入Zend Action:

$response = $this->getResponse();
$response->setHeader('P3P', 'CP="CAO PSA OUR"', true); 

请参阅标题内容('P3P:CP =“CAO PSA OUR”'); 做?

您似乎一直在发布同一问题的变体。 您的代码中没有任何内容可以在不同的浏览器上以不同的方式工作。 您需要对此进行调试以查看IE获取的程度,这将有助于您确定问题的根本原因。

所以,做一些调试来尝试回答这些问题:

  • $user->save()是否返回true? (即IE进入if语句)
  • 如果它确实进入了if, $user什么? 尝试var_dump($user);exit; 在if里面看看你得到了什么
  • $user->sendSignUpEmail(); 被叫?
  • 如果它到达重定向部分,正在发送什么标题? (您应该能够使用IE的开发人员工具进行检查)

如果您在IE浏览器的其他计算机上测试正在使用的浏览器,请检查系统时钟,因为错误的日期/时间会导致会话立即过期。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM