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

Форум PHP

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

 

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

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

тема: COOKIE
 
 автор: Expier   (31.07.2006 в 16:31)   письмо автору
 
 

Здравствуйте!
Пишу сайт, структура такова: главная страница - вся состоит из таблиц: меню, заголовок, основная часть и т.д. Внутри основной части стоит скрипт который принимает из $_GET, переменную cont, добавляет к ней ".txt" и открывает файл с контентом.
Еще есть участок который показывает меню пользователя (просто таблица), если isset($_COOKIE['id']).
А вот в этом и вопрос: когда ввожу логин и пароль потом проверяю его в базе, если он есть, то ставлю setcookie("id", "<какой-то номер>") и делаю редирект: header("Location: http://localhost/site/index.php?cont=reg_ok");
Файл reg_ok содержит только 2 строчки:
echo "cookie=".$_COOKIE['id'];
echo "registration is correct";

По идее должно появиться меню пользователя т.к. isset($_COOKIE['id']) == true, но так происходит не всегда. Иногда нужно закрыть страницу и открыть заново.
С чем это может быть связано??

   
 
 автор: Саня   (01.08.2006 в 01:11)   письмо автору
 
   для: Expier   (31.07.2006 в 16:31)
 

Куки начинают работать после перезагрузки страницы. Т. е. нельзя во время выполнения скрипта поставить куки и тут же ими воспользоваться. Хотя после редиректа на reg_ok куки должны заработать. А каким браузером пользуетесь? Может это всё из-за него? Скрипт не выдаёт ошибок? Поставьте ERROR_REPORTING в значение E_ALL... ошибок, связанных с куками не появляется?

   
 
 автор: Expier   (01.08.2006 в 12:56)   письмо автору
 
   для: Саня   (01.08.2006 в 01:11)
 

ERROR_REPORTING выглядит так:
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
т.е. должен показывать все ошибки и даже ворнинги. Но ничего не показывает.
Этот глюк происходит в MS Explorer. Я сам пользуюсь Opera, там такого не замечал. Но самое странное, что это не происходит каждый раз, а происходит как-то в случайном порядке.
Я уже не знаю что думать! Где я чего-то запорол?? Не понимаю!!

   
 
 автор: Киналь   (01.08.2006 в 21:30)   письмо автору
 
   для: Expier   (01.08.2006 в 12:56)
 

>ERROR_REPORTING выглядит так:
>error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
>т.е. должен показывать все ошибки и даже ворнинги. Но ничего
>не показывает.
Правильно, не показывает. Уберите все, кроме E_ALL - для отладки скрипта.

   
 
 автор: Expier   (03.08.2006 в 17:39)   письмо автору
 
   для: Киналь   (01.08.2006 в 21:30)
 

Убрал всё, оставил только E_ALL.
Молчит как пленный партизан!
Люди!!! Хелп!!! Ну хоть какие мысли есть у кого, скажите, пожалста!!!

   
 
 автор: BAHO   (03.08.2006 в 17:57)   письмо автору
 
   для: Expier   (31.07.2006 в 16:31)
 

дело в том, что куки создаются в вашем случае а один сеанс работы с браузером, т.е. после закрытия браузера пропадает как сессия, так и кука....в этом случае куки практически ни чем не отличаются от сессии...
для установки куки укажите третий параметр - жизнь куки:

setcookie('id','<какой то номер>',time()+10000000); 


вам бы я посоветовал использовать лучше сессии, потому что некоторые люди часто отключают куки....и сайт для них корректно уже работать не будет.... а ещё лучше и то и то использовать одновременно

   
Rambler's Top100
вверх

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