Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: переменная не сохраняется в сессии после header("Location")
 
 автор: Igorek   (29.03.2008 в 21:42)   письмо автору
 
 

такая проблема: переменную сохраняю в сессии и сразу после этого делаю редирект засылая соответствующий хидер. но эта переменная в сессии не сохраняется.
    $_SESSION['my_var'] = 1;
    header("Location: /price/");

в мануале нарыл, что:
Session ID is not passed with Location header even if session.use_trans_sid is enabled. It must by passed manually using SID constant.
возникает другой вопрос - если СИД не отправляется, то, по-моему разумению, сессия вообще должна бы слететь, чего так же не происходит, ибо другие переменные сессии, ранее сохраненные, спокойненько в этой сессии хранятся и возможно даже радуются жизни((
остается только добавить, что если убрать строчку header("Location: /price/"); - переменная в сессии нормально сохраняется.
помогите советом аль хотя бы ссылочкой на решение подобной проблемы.....

   
 
 автор: Atheist   (29.03.2008 в 21:47)   письмо автору
 
   для: Igorek   (29.03.2008 в 21:42)
 

Не вижу тут session_start().

> Session ID is not passed with Location header even if session.use_trans_sid is enabled. It must by passed manually using SID constant.

"Идентификатор сессии не подцепляется с заголовком Location даже если включен session.use_trans_sid . Вы должны вручную добавить его с помощью константы SID"

Это если идентификатор передается через GET, а не Cookies.

   
 
 автор: Igorek   (29.03.2008 в 21:59)   письмо автору
 
   для: Atheist   (29.03.2008 в 21:47)
 

session_start() есть. естесно до момента попытки сохранения переменной.
по-второму вопросу - вопросов больше не имею)) а вот по-первому....

   
 
 автор: Atheist   (29.03.2008 в 22:08)   письмо автору
 
   для: Igorek   (29.03.2008 в 21:59)
 

Сам по себе header "Location: ..." ничего такого не делает. Говорит браузеру перейти на указанную страницу, словно это ты сделал сам, кликнув по ссылке. Разве что Referer сохраняется.

Ошибка в чем-то другом.

   
 
 автор: Igorek   (29.03.2008 в 22:32)   письмо автору
 
   для: Atheist   (29.03.2008 в 22:08)
 

>Ошибка в чем-то другом.

хм.... я всегда думал, что после вызова хидер локатион, выполнение кода прекращается... это правда?

   
 
 автор: Root   (29.03.2008 в 22:39)   письмо автору
 
   для: Igorek   (29.03.2008 в 22:32)
 

>хм.... я всегда думал, что после вызова хидер локатион, выполнение кода прекращается... это правда?

это неправда. Прекратить выполнение скрипта можно с помощью die(), exit().

   
 
 автор: Igorek   (29.03.2008 в 22:42)   письмо автору
 
   для: Root   (29.03.2008 в 22:39)
 

ну вот... сперва узнаешь, что деда мороза не существует, потом еще это....
вопрос закрыт

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования