Intereting Posts
Коммутатор не работает с числовыми случаями сравнения Недопустимый номер параметра: параметр не был определен в mySQL select count, несколько таблиц PHP: как предотвратить нежелательные разрывы строк auto increment с строкой цифр и букв Выполнение javascript в PHP Ошибка PHP: предупреждение: ociparse () ожидает, что параметр 2 будет строкой Как разрешить пользователям пометить своих друзей в обновлении статуса Facebook, опубликованном на вкладке на странице Facebook? Получать значения из базы данных с помощью PHP PDO и обновлять ввод для проверки как я могу импортировать файл excel с помощью php и печатать его в таблице html Интерфейс RESTful для PHP-форума Как реализовать MySQLi вложенные подготовленные инструкции? Проверка формы перестает работать при визуализации страниц с использованием другого контроллера Примеры тестирования Zend_Rest_Controller Unit Исходящие клики не отслеживаются Google Analytics

Zend Framwork Session в Internet Explorer

Все еще не удалось заставить его работать после публикации этой ссылки: Zend Framework session lost

У меня есть эта форма регистрации, которая позволяет пользователям регистрировать и перенаправлять их прямо на свои страницы. Все работают отлично в каждом браузере, кроме INTERNET EXPLORER .

Я пробовал разные способы, но до сих пор не могу заставить его работать. После того, как пользователь будет сохранен в базе данных, сеанс не будет сохранен. Но если я выберу сохранение пользователя, сеанс и файлы cookie могут быть сохранены.

Вот код:

public function signUpAction() { $signupForm = new Application_Form_UserSignUp(); if ($this->getRequest()->isPost()) { if ($signupForm->isValid($this->getRequest()->getParams())) { $user = $this->_helper->model('Users')->createRow($signupForm->getValues()); if ($user->save()) { //Set email into cookies for displaying into login inputfield setcookie('display_email', $this->getRequest()->getParam('email'), time() + 3600*24*30, '/'); <-- not working Zend_Session::rememberMe(186400 * 14); <-- not working Zend_Auth::getInstance()->getStorage()->write($user); <-- not working $user->sendSignUpEmail(); <-- i'm receiving this email $this->getHelper('redirector')->gotoRoute(array(), 'invite'); return; } } } $this->view->signupForm = $signupForm; 

Вот еще один способ, который я делаю, но все еще не работает над IE :

 public function signUpAction() { $users = new Application_Model_DbTable_Users(); $signupForm = new Application_Form_UserSignUp(); if ($this->getRequest()->isPost()) { $firstname = $this->getRequest()->getParam('first_name'); $lastname = $this->getRequest()->getParam('last_name'); $email = $this->getRequest()->getParam('email'); if ($signupForm->isValid($this->getRequest()->getParams())) { $user = $this->_helper->model('Users')->createRow($signupForm->getValues()); $user = array('email' => $email, 'first_name' => $firstname, 'last_name' => $last_name); $users->insert($user); Zend_Session::rememberMe(186400 * 14); Zend_Auth::getInstance()->getStorage()->write($user); $this->_redirect('invite'); } } $this->view->signupForm = $signupForm; 

Попробуйте использовать session_write_close перед вызовом перенаправления. Или я думаю, что у Zend есть эквивалент, см .: Zend_Session :: writeclose

Только другая вещь, которая приходит на ум (с IE, являющимся единственным браузером, дающим вам проблемы) является политикой P3P. Посмотрите на сообщение Talha здесь: проблема с Zend Sessions с IE8