setcookie на локале и удаленном сервере

Junkers

Новичок
setcookie на локале и удаленном сервере

Пишу вот такой код:

PHP:
$data=array('sid'=>$row['user_code'], 'pass'=>$row['user_pass'], 'vizit'=>$row['user_last_vizit']); # Массив данных для куки
$data=serialize($data); # Сериализация данных для куки
setcookie('data', $data, mktime()+6480000, '/'); # Устанавливаем куку с данными для посетителя
На локале работает. На удаленном сервере - нет.

Содержимое куки с удаленного сервреа


data
a%3A3%3A%7Bs%3A3%3A%22sid%22%3Bs%3A32%3A%22d6827556c37d40a870babe02d9fed48b%22%3Bs%3A4%3A%22pass%22%3Bs%3A16%3A%22661705c36e3fce41%22%3Bs%3A5%3A%22vizit%22%3Bs%3A10%3A%221137524048%22%3B%7D
www.rocktext.ru/
1536
1272853888
29775497
90068640
29760410
*


С локального


data
a%3A3%3A%7Bs%3A3%3A%22sid%22%3Bs%3A32%3A%22d6827556c37d40a870babe02d9fed48b%22%3Bs%3A4%3A%22pass%22%3Bs%3A16%3A%22661705c36e3fce41%22%3Bs%3A5%3A%22vizit%22%3Bs%3A10%3A%221137523091%22%3B%7D
rocktext/
1024
397886592
29775498
2872098640
29760410
*


Почему?
 

Фанат

oncle terrible
Команда форума
пояснение к предыдущей ссылке.
то, что браузер хранит у себя на диске - это не кука.
Это личное внутреннее дело браузера.
а куки существуют только при обмене заголовками НТТР.
 

Junkers

Новичок
Поставил плагин ieHTTPHead. Вот что он выдает при отправке формы с логином и паролем

На локале

POST /log/?type=in HTTP/1.1
Accept: */*
Referer: http://rocktext/log/?PHPSESSID=49b22ad6bd5d5db0d495935c7ffa1007
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: rocktext
Content-Length: 84
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: PHPSESSID=49b22ad6bd5d5db0d495935c7ffa1007

login=Dennis&pass=123&autologin=1&login_button=%C2%F5%EE%E4+%ED%E0+%F1%E0%E9%F2


HTTP/1.1 200 OK
Date: Wed, 18 Jan 2006 14:31:31 GMT
Server: Apache/1.3.27 (Win32) PHP/4.4.0
X-Powered-By: PHP/4.4.0
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: data=a%3A3%3A%7Bs%3A3%3A%22sid%22%3Bs%3A32%3A%22d6827556c37d40a870babe02d9fed48b%22%3Bs%3A4%3A%22pass%22%3Bs%3A16%3A%22661705c36e3fce41%22%3Bs%3A5%3A%22vizit%22%3Bs%3A10%3A%221137527642%22%3B%7D; expires=Mon, 03 Apr 2006 14:31:31 GMT; path=/
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html


На удаленном


POST /log/?type=in HTTP/1.1
Accept: */*
Referer: http://www.rocktext.ru/log/
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: www.rocktext.ru
Content-Length: 84
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: PHPSESSID=865655fd2988fa398dc7e765d29db33d

login=Dennis&pass=123&autologin=1&login_button=%C2%F5%EE%E4+%ED%E0+%F1%E0%E9%F2


HTTP/1.1 200 OK
Date: Wed, 18 Jan 2006 14:35:19 GMT
Server: Apache
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
X-Powered-By: PHP/4.3.11
Set-Cookie: data=a%3A3%3A%7Bs%3A3%3A%22sid%22%3Bs%3A32%3A%22d6827556c37d40a870babe02d9fed48b%22%3Bs%3A4%3A%22pass%22%3Bs%3A16%3A%22661705c36e3fce41%22%3Bs%3A5%3A%22vizit%22%3Bs%3A10%3A%221137594874%22%3B%7D; expires=Mon, 03 Apr 2006 14:35:19 GMT; path=/
Keep-Alive: timeout=15
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html


Заметил разницу - на локале REFERER передается с PHPSID, а на удаленном - без нее. Может это влиять на куку?

-~{}~ 18.01.06 17:52:

кстати, при открытии других страниц после перезагрузки броузера кука на удаленном сервере передается исправно, но ее почему-то не видно, т.е. заходишь на любую страницу и как-будто куки нет...

-~{}~ 18.01.06 18:51:

Обратил внимание на то, что в моей удаленной куке написано www.rocktext.ru в то время, как в куках, поставленных мне другими сайтами написано без www, т.е. просто domain.com. Пробовал написать вручную в setcookie() - не помогает, блин, а автоматом пишется с www. Что делать?
 

Beetle(c)]u$

Новичок
сравни:
Host: www.rocktext.ru
и
Host: rocktext

смотри настройки локального сервера в частности алиас

-~{}~ 18.01.06 19:52:

а еще посмотри:
http://fr.php.net/manual/ru/function.setcookie.php

в хост записывается урл с какого кука повешена. поэтому, если настройки сервера менять не хочешь, то укажи "string domain" в свойствах setcookie();
только ты куку на локальном сервере тогда не поднимешь
 
Сверху