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

Форум PHP

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

 

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

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

тема: Передача переменных скрипта в сессиях через URL.
 
 автор: bonus_FM   (06.07.2006 в 15:12)   письмо автору
 
 

Господа, помогите советом насчёт сессий. Очень нужно и важно. Долго мучился с такой проблемой: при использовании сессий при отключённых cookies в браузере сид не передавался через url. Теперь передаётся, то есть к названию страницы ещё прибавляется строчка типа "index.php?reqaut=8e4911f635ee9c0483824f71b2001e53". Но проблема в следующем. Всё это работает только на одной странице index.php. Если перейти на другие страницы, то там на них пользователь считается не авторизовавшимся (то есть выводится вместо приветствия форма для ввода логина и пароля). И если после этого вернуться на страницу index.php, то там тоже уже пользователь считается не авторизовавшимся и длинной строчки в адресной строке уже нет. В php.ini директива session.use_trans_sid = 1 и session.use_cookies = 1. А механизм авторизации такой: проверяется логин и пароль и если такие существуют, то осуществляю перенаправление на главную страницу вот такой строчкой:
header ("Location: ../index.php?".session_name("reqaut").'='.session_id());

Больше нигде вручную сид не прописываю. На всех страницах сайта прописано
session_name ("reqaut");
session_start ();
В чём здесь может быть дело? Заранее спасибо!

   
 
 автор: RV   (06.07.2006 в 15:54)   письмо автору
 
   для: bonus_FM   (06.07.2006 в 15:12)
 

header ("Location: ../index.php?".session_name("reqaut").'='.session_id());
а если куки включены для чего передавать сессию в урле?
оставь просто index.php, если надо то пхп сам допишет сессию.
во-вторых убирай session_name и пробуй работать со стандартным именем, которое дает пхп

   
 
 автор: bonus_FM   (06.07.2006 в 17:21)   письмо автору
 
   для: RV   (06.07.2006 в 15:54)
 

Вот у меня что-то PHP сам ничего не дописывает. Не знаю почему. А вот с header ("Location: ../index.php?".session_name("reqaut").'='.session_id()); всё работает. Так а нельзя вот так просто по тупому ручками прописать сид? Работать скрипт всё равно будет или нет? Да, сегодня прочитал, что РНР автоматом не приписывает сид к headerу, а только к абсолютным ссылкам.
Насчёт session_name: а если использовать обычное стандартное PHPSESSID, то переменные из разных скриптов не перемешаются? У меня просто две разные формы с разными именами элементов управления. В зависимости от того какая форма сработала стартует нужная сессия. Но я вот тоже думаю взять и объединить все сессии в одну. Только страхово: как бы переменные не перепутались.

   
Rambler's Top100
вверх

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