0

我正在處理我的任務中的購買系統,並試圖通過使用會話在過程中存儲數據來解決問題。會話將不會在Mozilla Firefox中創建

儘管我在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等

在此先感謝。

回答

0

我重新安裝了Firefox並刪除了配置文件和緩存文件,問題解決了!