Сессии. Какой-то бред...

Статус
В этой теме нельзя размещать новые ответы.

leosha

Старожил PHPCLub
Сессии. Какой-то бред...

Я сдаюсь.. Я [...skip...] не понимаю... Уже три часа бьюсь.

Собственно, вопрос: Почему может не сработать проверка
if (session_is_registered("valid_user")) {
},
если на самом деле данная переменная сессии точно установлена?

пояснения:

Есть файл _top.php который инклудится на всех страницах.
В этом файле присутствуют строки
<?
if (session_is_registered("valid_user")) {
echo "You are logged in as <u>$valid_user</u>.";
}

else {
echo "You are not logged in.";
}
?>

Еще раз, именно этот файл инклудится на каждой странице.

Есть require_once ("auth_check.php");
на каждой странице, требующей авторизации. Там смотрим, установлена ли переменная сессии, и если нет -
Header (Location: auth.php)

Есть файл auth.php который проверяет введенные имя, пароль, регистрит переменные сессии, в итоге редиректит броузер на index.php или на запрошенную страницу.

Все это работало как надо (да и сейчас работает), но после некоторых косметических измений скриптов, такая фигня образовалась:
auth.php проверяет имя/пароль, регистрит сессию, редирект на index.php - и ТОЛЬКО на index.php как раз и не видится что
session_is_registered("valid_user")
Хотя, это ТОЧНО так.
При переходе на любую другую страницу - пожалуйста, все отрабатывает и отображается как надо. При возврате на index.php - не видит! Опять идем на любую страницу - все ок... Но только не на index.php

И чего копать-то?

PS. Дело усугубляется тем, что на локальной машине ничего подобного не наблюдается...
 

kvn

programmer
можно попробовать:
PHP:
if (isset($_SESSION['valid_user'])) {
  echo 'OK';
}
 

leosha

Старожил PHPCLub
Неа, эти все я пробовал. Я не могу понять как это так, что везде работает, кроме одной страницы.. =(
 

leosha

Старожил PHPCLub
ГЫ-гы! Все вернул как было. Тот же ... вид сбоку.
У меня жгучее желание перезапустить Апача... Буду бодаться с хостером, что ли..
 

babin46

Guest
С сесиями очень большие глюки! Они просто пропадают... И спользуй:

<input type=hidden name=PHPSESSID value="<?$PHPSESSID?>">
 

leosha

Старожил PHPCLub
Если б пропадали, было б проще.

PS. Апач перегрузился, почистил каталог где у меня хранятся данные сессий, и все стало ок. пока.. =)
 

Kapacb

Новичок
Кстати сессии просто так не падают!!!
Они просто очень чуткие к малейшим неточностям!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху