0
과제에 구매 시스템을 사용하고 세션을 사용하여 프로세스에 데이터를 저장하여 문제를 해결하기 위해 노력하고 있습니다.모질라 파이어 폭스에서 세션이 생성되지 않습니다
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 등에서는 발생하지 않지만
미리 감사드립니다.