Forum Webscript.Ru
Программирование => PHP => Тема начата: от 21 Июня 2002, 04:01:38
-
Юзер заходит на одну мою страницу.
И мне надо сразу же знать записались ли данные о заведенной на моем
сайте сесии на его браузер.
От этого зависит выдача ссылок с этой страницы (куда ему дальше идти).
То есть мне надо знать позволено ли писать в его браузер кукисы или
еще чего там.
Пишу коряво, так как тороплюсь, счас вырубит интернет :(
я пытался сделать так
session_start();
session_register("s");
$s[\'ddd\']="dddddd---";
echo $s[\'ddd\']; // для контроля
теперь пытаюсь сэмитровать закрытие ссессии ( с сохранением данных)
что бы тут же ее открыть и посмотреть будет в сессии dddddd--- или
нет.
Но тут уже у меня ничего не выходит.
session_write_close("s");
//unset($s);
//session_start();
//session_register("s");
Надеюсь получить код или дельный совет на мыло 777@prilavok.com.
Я чайник в пхп так что прошу писать по проще.
-
страницу надо перезагрузить.
то есть после того, как стартуешь сессию, пишешь
header("Location: $PHP_SELF?start");
Соответственно - и проверка.
Стартуешь сессию.
проверяешь, если сессия есть - выдаешь свои ссылки.
Если сессии нет, проверяешь
if ($QUERY_STRING=="start") и если да, то сессий нет - выдаешь другие ссылки.
если нет, то
header("Location: $PHP_SELF?start");
Броузер с сервером общаются так. Броузер что-то запрашивает, сервер возвращает. Броузер снова запрашивает - сервер снова возвращает. И никак иначе.
Броузер в своем запросе посылает куку. Но только после того, как сервер в своем ответе эту куку выставит.
Между запросами броузер и сервер не общаются.
поэтому Location и нужно, чтобы заставить броузер запросить страницу по новой,а в запросе уже придет кука.
?start нужен чтобы не было вечного цикла, если куки не включены.
-
Спасибо, но очень желательно что бы все было без перегрузки страницы.
Все надо сделать на одной странице
-
Все надо сделать на одной странице
Смысл.
Записывать все на одной странице и пытатся все считать. Зачем. У тебя и так все переменные будут известны.
-
bhor, если ты хочешь знать зачем, пиши письма, а так зачем занимать винчестер,
сказано же что мне надо так как написано в первом сообщении.
БЕЗ ПЕРЕЗАГРУЗКИ!!!!!!!
Неужели не понятно что я не такой тупой и сам бы дагадался?
Ну хоть кто нибудь из знающих может мне ответить ПО СУЩЕСТВУ??????
-
Unregistered
Да никак.
Тебе RomikChef весьма доступно объяснил.
-
session_start(); ///
if(isset($auth)){
$page=old.php;
}
else{
$page=login.php;
///.... session_register(\'auth\');
}
header("Location: $page"); exit();
-
Эх, зря я так старался. Специально теорию расписал - почему именно невозможно сразу узнать.
Скорее всего, человек не понимает смысла слов "перезагрузка страницы". Для пользователя-то перезагрузка будет прозначной, то есть выглядеть, как будто "все на одной странице".
Но если он такой нервный, и к тому же еще и не тупой, то, конечно, пусть сам думает. Таких мудрецов всегда мнгого было. Вечный двигатель до сих пор придумывают.