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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как проверить наличие cookie на клиентской машине?

Сообщения:  [1-10]   [11-12] 

 
 автор: bronenos   (04.10.2007 в 11:42)   письмо автору
 
   для: cheops   (04.10.2007 в 10:33)
 

прикол я сейчас посчитал 999 на 999 на 999 мою
оказалось +31 год

значит в этот год еще ошибок не будет. а следующий не прокатит :(

   
 
 автор: cheops   (04.10.2007 в 10:33)   письмо автору
 
   для: Владимир55   (03.10.2007 в 15:30)
 

В большинстве современных систем, где время представляется 32-битным целым числом, допустимыми являются значения года между 1901 и 2038. Типичной ошибкой при работе с cookie является установка года выходящего за этот интервал, например, 2100. В этом случае cookie будут устанавливаться только как сессионные.

   
 
 автор: bronenos   (03.10.2007 в 15:39)   письмо автору
 
   для: Владимир55   (03.10.2007 в 15:30)
 

для "пожизненно" я ставлю 999*999*999

   
 
 автор: Владимир55   (03.10.2007 в 15:30)   письмо автору
 
   для: bronenos   (03.10.2007 в 11:15)
 

А какой предельный срок действия cookie ?

Если я поставлю 100000, это не будет слишком много?

   
 
 автор: bronenos   (03.10.2007 в 11:15)   письмо автору
 
   для: Владимир55   (03.10.2007 в 10:44)
 

сотрите все байты перед открывающей скобкой

   
 
 автор: Владимир55   (03.10.2007 в 10:44)   письмо автору
 
   для: bronenos   (03.10.2007 в 00:25)
 

Для установки cookie сделал специальный php-файл, содержащий вот только такие строки:


<?php
// Формируем cookie для авторизации посетителя
setcookie ("music""man40"time() + 100);
echo 
"<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=../index.htm;'></HEAD></HTML>";
?>


То есть, я хочу установить cookie и затем перейти на главную страницу.
Как мне казалось, конфликта заголовков тут быть не должно. Однако, броузер сообщает:

Warning: Cannot modify header information - headers already sent by (output started at /home/music.ru/data/www/music.ru/anketa/cook.php:2) in /home/music.ru/data/www/music.ru/anketa/cook.php on line 6

line 6 - это и есть setcookie ("music", "man40", time() + 100);

Переход на главную страницу выполняется, а вот cookie не устанавливаются.

В чем некорректность?

   
 
 автор: bronenos   (03.10.2007 в 00:25)   письмо автору
 
   для: Владимир55   (03.10.2007 в 00:01)
 

отправка куков происходит в заголовках, а весь документ имеет вид
Заголовок 1
Заголовок 2
Заголовок 3
Заголовок N

Тело документа

Поэтому не сложно догадаться, почему куки и многие другие вещи, например, старт сессии, не проиходят после, пусть даже одного, вывода в браузер print / echo или ?>(**)<?

   
 
 автор: Владимир55   (03.10.2007 в 00:01)   письмо автору
 
   для: bronenos   (02.10.2007 в 23:22)
 

Вот оно как происходит!

Ну, тогда понятно!

Большое спасибо!

   
 
 автор: bronenos   (02.10.2007 в 23:22)   письмо автору
 
   для: Владимир55   (02.10.2007 в 22:02)
 

Скрипт не смотрит папки моего компьютера в поисках куков - браузер сам в запросе на получение страницы отправляет все куки, которые может посмотреть эта страница (только те, которые были поставлены данным сайтом и которые не устарели), и эти куки сервер представляет в PHP в удобном виде посредством сверхглобального массива _COOKIE

   
 
 автор: Владимир55   (02.10.2007 в 22:02)   письмо автору
 
   для: bronenos   (02.10.2007 в 19:23)
 

Похоже, что я не понимаю чего-то простого, но очень важного.

Пусть скрипт begin.php имеет только одну строку:

<?php
setcookie 
("music""man40"time() + 3600); 
?>


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

А теперь посетитель запускает некий второй скрипт, который должен идентифицировать посетителя. Второй скрипт тоже выполняется на сервере, и чтобы осуществить идентификацию, этот второй скрипт должен «заглянуть» в клиентскую машину и поискать там cookie с соответствующими параметрами.

Так это или не так? Такой алгоритм?

А если так, то каким образом этот поиск осуществляется? Чтобы в итоге получилось

<?php
$flag 
true// Нашел в компьютере пользователя cookie "music" с записью "man40"! 
?>

   

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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