Codeigniter создать сеанс и перенаправление не работает в IE - PullRequest
2 голосов
/ 22 декабря 2010

Я использую codeigniter и имею простую настройку входа пользователя.Пользователь отправляет свои учетные данные, проверяет с БД, являются ли они действительными, если они являются моделью, передает контроллеру идентификатор сеанса и перенаправляется на страницу пользователя.Если данные не верны, пользователь перенаправляется на страницу входа с сообщением об ошибке.Здесь нет ничего особенного.Проблемы это не работает в IE.Я не уверен, если это из-за перенаправления или создания сеанса.Прекрасно работает во всех браузерах, кроме IE.Я проверял то есть 8 с Windows 7 на параллелях и работал нормально.Странно то, что он не работает на компьютере с Windows 7 IE 8. Может кто-нибудь сказать мне, почему страница входа в систему просто обновляется каждый раз, когда пользователь входит в систему?Мне сказали попытаться добавить этот код:

<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="Expires" content="-1" /> <meta http-equiv="CACHE-CONTROL" content="NO-CACHE" /> </head>

, который ничего не сделал.Я также изменил обработчик сеанса с ci_sessions на cisessions, который тоже не помог (я видел это на другом форуме).Может ли кто-нибудь помочь?!

Ответы [ 3 ]

2 голосов
/ 20 сентября 2012

У меня была такая же проблема при использовании CI Session в IE.Я использовал заголовок ниже в конструкторе контроллера, и теперь он работает для меня:

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
1 голос
/ 22 декабря 2010

У меня были похожие проблемы, когда сеансы CI не работали в Windows XP, но везде.Поэтому я использовал библиотеку Native Sessions от Dariusz Debowczyk, и она исправила проблемы.Приятно то, что Дариус хорошо поработал над тем, чтобы сохранить интерфейс таким же, чтобы вам не пришлось сильно менять свой код.Вы все еще можете использовать $ this-> session-> userdata () и $ this-> session-> set_userdata () ... и т.д. Вы также можете использовать flashdata.Единственная разница в функции уничтожения вместо $ this-> session-> sess_destroy (), он использует $ this-> session-> destroy ().

http://codeigniter.com/wiki/Native_session/

1 голос
/ 22 декабря 2010

Вы пытались использовать метод перенаправления CI, содержащийся в помощнике по URL, чтобы проверить, работает ли он у вас?

http://codeigniter.com/user_guide/helpers/url_helper.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...