【问题标题】:Session won't be created in Mozilla Firefox不会在 Mozilla Firefox 中创建会话
【发布时间】:2012-01-02 09:10:03
【问题描述】:

我正在处理我的任务中的购买系统,并尝试通过使用会话在流程中存储数据来解决问题。

虽然我在 Mozilla Firefox 中遇到问题,但由于某种原因无法与我创建的会话一起使用。毫无疑问,我一定犯了某种错误。

流程如下:

用户填写表单 -> 点击提交 -> [验证过程] -> 用户评论确认页面

这是来自控制器的相关代码:

public function indexAction() {
    $this->gatewayForm = new Payment_Form_Gateway;
    $save = $this->validate();

    $this->view->gatewayForm = $save['form'];
    $this->view->alert = $save['alert'];
}

public function validate() {
    # get form
    $form = $this->gatewayForm;
    if ($this->_request->isPost()) {
        # get params            
        $data = $this->_request->getPost();

        # check validate form
        if ($form->isValid($data)) {
            $session = new Zend_Session_Namespace('formData'); // name space creation
            $session->data = $data;
            $this->_helper->redirector('confirm', 'gateway', 'payment');
        } else {
            $alert = array('Pay failed');
        }
    $form->populate($data); 
    }
    return array('form' => $form, 'alert' => empty($alert) ? null : $alert );
}

public function confirmAction() {
    $this->_helper->viewRenderer->setNoRender(true); // disable std. view

    $session = new Zend_Session_Namespace('formData');
    $data = $session->data;             
    if(isset($data)) {
        $this->_helper->viewRenderer->setNoRender(false);
    } else {
        $this->_helper->redirector('index', 'gateway', 'payment');
    }
}

Firefox 中的 confirmAction 出现问题,会话命名空间似乎为空?虽然这在 Safari、Chrome、IE 等中不会发生。

提前致谢。

【问题讨论】:

    标签: zend-framework firefox session zend-session zend-session-namespace


    【解决方案1】:

    我重新安装了 Firefox 并删除了具有魔力的配置和缓存文件。问题解决了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-10
      • 2018-06-10
      • 1970-01-01
      • 2012-04-26
      • 2016-01-05
      • 2013-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多