Куки CodeIgniter, работающие в FF, но не в Chrome или IE - PullRequest
1 голос
/ 24 ноября 2010

Я создал сайт в CI и у меня есть система входа в систему, которая отлично работает в Firefox, но не в Chrome или IE.В этих двух случаях, если имя пользователя и пароль верны, он просто перенаправляет (я думаю) обратно на страницу входа в систему, а не на страницу ошибки входа в систему или на домашнюю страницу сайта (как и должно быть).Я заметил, что он не устанавливает cookie в Chrome, но делает это в FF.

Вот код моего контроллера, который устанавливает cookie и перенаправляет после аутентификации:

            $newdata = array(
                   'username'  => $_POST['login_username'],
                   'real_name' => $name,
                   'user_id' => $uid,
                   'logged_in' => TRUE
               );

            $this->session->set_userdata($newdata);
            //echo $newdata;
                redirect('/site/index');    

Есть идеи, почему это может происходить?

Спасибо

Ответы [ 6 ]

2 голосов
/ 23 февраля 2012

Я тоже столкнулся с этой проблемой ... Пользовательские данные сессии потеряны для Chrome и IE, но в Firefox все нормально. Это было связано с неправильной настройкой в config / config.php

Я должен был явно установить cookie_domain Чтобы сделать его более автоматическим в будущем, я использовал эту команду ... сорвал форумы CI.

$config['cookie_domain'] = str_replace("http:/","",str_replace("https://","", $config['base_url']));

Я добавил эту строку, и все было в порядке.

2 голосов
/ 24 ноября 2010

Убедитесь, что $ _SESSION действительно установлен.В CI вам может потребоваться корректный выход для сброса значений в $ this-session в 'настоящую' переменную сеанса.

добавьте сериализацию echo ($ _ SESSION), чтобы вы знали, что происходит (до повторного вызова).

и проверьте, как правильно завершить Ci-запрос.

1 голос
/ 01 июня 2012

В моем случае проблема была в том, что $config['base_url'] был пуст.Поэтому я установил его на свой домен

$config['base_url'] = 'http://yourdomain.com/';
1 голос
/ 22 февраля 2012

Корректировка имени куки может исправить проблему в конфигах CI, чтобы убрать подчеркивания, творит чудеса. Статья Проблема сеанса CodeIgniter в IE достаточно подробно объясняет детали.

1 голос
/ 21 марта 2011

Для меня это решило просто добавить больше времени в куки, у меня было 3600, поэтому я перешел на 7200. Кажется, это проблема со временем на моем рабочем сайте.Может кому-то помочь.

0 голосов
/ 25 марта 2015

У CodeIgniter есть некоторая проблема, если указанный домен для файлов cookie - localhost, я установил поддельный домен с реальной структурой имени домена в файл hosts, и он работает.

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