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等
在此先感謝。