Показать полную графическую версию : php Перенаправление на другую страницу
В общем когда закрывается сессия делаю перенаправление через header на другую страницу только без переменных в строке запроса Header("Location: logout.php")
Перенаправление происходит а строка запроса в БРАУЗЕРЕ не меняется остается тойже с идентификатором сессии
Типа - index.php?id=12fg34... а не как вроде должно быть - logout.php
В чем проблемма подскажите
vadimiron
25-12-2006, 15:45
sarcus
Сессия то уже закрыта, поэтому идентификатор больше не действителен, или Вас волнуют эстетические проблемы (хотите адрес без идентификатора)?
sarcusHeader("Location: logout.php")должен быть абсолютный URI (см. rfc2616).
id сессии передается браузером в строке URL (GET), если отключена поддержка кукис.......
VeshchiyOleg
25-12-2006, 16:52
попробовал...
получилось именно logout.php в адресной строке:
index.php
<html>
<body>
<p/><a href="header.php?id=12fg34">press here</a>
<p/>адрес ссылки: header.php?id=12fg34
</body>
</html>
header.php
<?
header('Location:logout.php');
exit;
?>
logout.php
<html>
<body>
<p/>страница logout.php
</body>
</html>
чтобы было понятней о чемя вот часть кода index.php
if ($session_id!="") :
sess_start();
if (!isset($_SESSION["user"])) :
session_destroy();
Header("location:logout.php");
exit;
else :
endif;
endif;
index.php в качестве движка
когда я удаляю запись сеанса изи таблицы сессий и обновляю страницу перенаправление то происходит но адресная строка остается той же
Типа не эстетично как сказали
sarcus тебе еще куки сессии у юзера надо удалить (перед session_destroy).... что-то типа if (isset($_COOKIE[session_name()])) setcookie(session_name(), "", time()-100000, "/");
ну куки пока оставил так как решил с ними не заморачиваться да и на что они могут повлиять если я их не использую
У меня основная проблема в адресной строке, ну не красиво это. Конечно при клике на ссылку перехода к след странице все исправиться,
но все равно как решить эту проблему.
Хотя session_destroy() в данном случае бессмысленно так как запись сеанса уже удалена по таймауту,
Блин но как же изменить адресную строку.
sarcus
Sham уже сказл, что надо приводить url к абсолютному при перенаправлении. Не попробовали?
VeshchiyOleg
26-12-2006, 13:59
К стати в мозиле все ок
кстати, в эксплорере, если у формы не пишешь action="<?=$PHP_SELF?>" - т.е. на эту же страницу якобы отправлять, то приходит всё, что в форме и всё, что было прислано на страницу как минимум GET`ом
sarcusну куки пока оставил так как решил с ними не заморачиваться да и на что они могут повлиять если я их не используюRTFM! Для передачи ID сессии используется либо куки, либо строка URL... и тебя об этом никто спрашивать не будет :) т.е. я повторюсь, если используешь session_destroy, надо удалить енту самую куку у юзера (т.е. сообщить браузеру, что сессии больше нет)...
mar :)
Абсолютный url пробовал не помогает
Sham ага попробую удалить куку действительно может сдесь проблемма
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.