| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Удаление сессии происходит только после CTRL+F5 |
| Автор: Rodman 11.11.2013, 11:01 | ||
| Добрый день Я начал изучать CodeIgniter (все пожелания в качестве кода и моего разума можете оставить при себе - я новичек) Но суть в том, что следующий код на моем сервере срабатывает только после повторного нажатия на CTRL+F5, а не после вызова метода
т.е. при вызове метода logout данные из сессии должны удаться и происходить редирект. редирект происходит, но если я принудительно (в адресной строке браузера) открываю данную страницу, то срабатывает код из функции index и сразу выводит ОК!, а если нажимаешь F5 или CRTL+F5 то становиться FAIL! Пробовал проверять в разных браузерах (Хром, фокс, эксплорер) - везде все аналогично. НО на локале все нормально. подозрения на некие настройки сервера... что это может быть? Спасибо |
| Автор: Sanchezzz 12.11.2013, 08:12 | ||
| Вы хоть и не просили но я должен сказать: CodeIgniter - умер, я вам рекомендую переходить на более развивающиеся фреймворки например laravel4, Yii2
Это вроде баг редиректа, нужно сделать закрытие session_write_close(); что бы сессия записалась и потом сделать редирект или код выше убиваем сессию. |
| Автор: Rodman 12.11.2013, 11:29 |
| Sanchezzz, мне фиолетово на Ваши рекомендации. Я задал конкретный вопрос, и не получил на него ответа. Ваш код НЕ РАБОТАЕТ! |
| Автор: ksnk 12.11.2013, 14:15 |
| CodeIgniter, видимо, не при чем. Из кэша грузится старая страница. На сервере, случайно, не nginx стоит? Для проверки можно в методе logout поставить какую-нибудь куку, временную, неиспользуемую с уникальным значением (nginx перекэширует страницу). Или адрес перехода на main как нибудь унифицировать, добавив в адрес перехода уникальную ненужную переменную (если виноват не nginx). |
| Автор: Rodman 14.11.2013, 10:24 | ||
ksnk, сделал следующим образом
но не помогло, и nginx не установлен... Кто то блокирует другой... или держит крепко кеш |
| Автор: Sanchezzz 14.11.2013, 11:57 |
| session_write_close пробовали выставить перед redirect ? |
| Автор: georgiy11 14.11.2013, 23:17 |
| CodeIgniter это ещё тот ужас По проблеме, поставьте NativeSession вместо родного класса, он дюже глючный. Потом тренируйетсь, так как это само ядро может (а скорее всего оно так и есть) глючит. Ещё раз скажу не в тему, ужасный фреймворк Добавлено через 1 минуту и 17 секунд Sanchezzz, А уже есть стабильная версия с докой? Это я так, спрашиваю, может уже чего то пропустил |
| Автор: krypt3r 20.11.2013, 07:32 | ||
Вряд ли это как-то повлияет, ибо CI не использует нативные PHP-сессии, а благополучно хранит свои сессии в куках ;) если не настроено использование БД. |
| Автор: Sanchezzz 20.11.2013, 23:50 |
| krypt3r, да прав кто то был что сказал ###. посмотрел я исходники и не обнаружил session_set_save_handler Вас спасет только нативный вариант georgiy11, вы про yii2 да можно уже использовать, только нужна часто composer упдейтить) |