Проблема звучит так: вход в систему с использованием сеансов отлично работает на моем локальном хосте, но когда ТОЧНО одни и те же файлы загружаются на мой хост (хост-сервер), сеансы не работают или, или они перепутаны. Также функция выхода из системы не работает на хосте.
Я проверил, и каждая страница имеет session_start (); внутри него.
Сеанс не уничтожается, даже если мой logout.php выглядит так:
<?php session_start(); $_SESSION = array(); session_unset(); session_destroy(); header("location:index.php"); exit(); ?>
Какие-либо предложения?
Я заметил в Firefox с Firebug, что ваши страницы все кэшированы. Ваша сессия работает нормально, но ваша страница кэшируется, что делает логин и выход из системы (испорчен).
Отключить кеширование HTTP для ваших динамических страниц.
См. Вывод Firebug:
HTTP/1.1 304 Not Modified Date: Thu, 14 Oct 2010 13:16:50 GMT Server: Apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Connection: Keep-Alive Keep-Alive: timeout=5, max=100 Expires: Thu, 14 Oct 2010 16:16:50 GMT Cache-Control: public, max-age=10800
GET / HTTP/1.1 Host: www.piataterenuri.info User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Cookie: PHPSESSID=55aea3f792334052dc673f85feb0b54a If-Modified-Since: Wed, 13 Oct 2010 13:47:53 GMT Cache-Control: max-age=0
В руководстве PHP уже приведен пример того, как отключить кеширование:
<?php header("Cache-Control: no-cache, must-revalidate"); header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past ?>