|
 980 байт |
|
| Сделал скрипт голосования. Все отлично работало, до внедрения ЧПУ (через RewriteRule).
Теперь, когда голосую, кука сначала сохраняется, в нее попадает новое значение, а потом, после перезагрузки страницы, в ней не оказывается нового значения!
Как это вообще возможно? И как это справить? Я в панике! | |
|
|
|
|
|
|
|
для: lElectroHardl
(18.01.2011 в 18:07)
| | Приведите правила RewriteRule, а лучше на словах сообщите, что они делают. Как правило, такие штуки бывают, когда вы переходите с домена site.dev на www.site.dev и наоборот (при этом в функции setcookie() не используется пятый параметр для привязки к домену .site.dev). | |
|
|
|
|
|
|
|
для: cheops
(18.01.2011 в 18:35)
| | RewriteRule имеется ввиду, для ЧПУ.
Некоторые правила (где исп. $rate):
# foto rate
RewriteRule ^page/([0-9]+)/cat/([0-9]+)/subcat/([0-9]+)/foto/([0-9]+)/rate/([0-9]+)$ page.php?page=$1&cat=$2&subcat=$3&foto=$4&rate=$5 [L]
RewriteRule ^page/([0-9]+)/cat/([0-9]+)/subcat/([0-9]+)/foto/([0-9]+)/rate/([0-9]+)/$ page.php?page=$1&cat=$2&subcat=$3&foto=$4&rate=$5 [L]
|
| |
|
|
|
|
|
|
|
для: lElectroHardl
(18.01.2011 в 18:57)
| | Возможно, куки слишком длинные? И из-за этого в них новое не пишется?
У меня они имеют такой вид: " 31 29 33 51 52 34 37 36 32 43 38 30 54 56 62 57 59 61 63 45 75 79 111" | |
|
|
|
|
|
|
|
для: lElectroHardl
(18.01.2011 в 19:48)
| | Если убираю все правила из ..htaccess, то куки отлично работают, но как опять начинаю работать с RewriteRule, старые куки перестают быть доступны и я начинаю работать, как будто бы с новыми куками.
Бред! Что за фигня твориться? | |
|
|
|
|
|
|
|
для: lElectroHardl
(18.01.2011 в 20:31)
| | А приложите полностью .htaccess, там только эти правила? Или еще какие-то есть? | |
|
|
|
|
|
|
|
для: cheops
(18.01.2011 в 20:44)
| |
Options -Indexes
ErrorDocument 404 /error/
ErrorDocument 403 /error/
RewriteEngine on
# errors
RewriteRule ^error$ error.php [L]
RewriteRule ^error/$ error.php [L]
# view
RewriteRule ^view/([0-9]+)$ view.php?foto=$1 [L]
RewriteRule ^view/([0-9]+)/$ view.php?foto=$1 [L]
# download
RewriteRule ^download/([0-9]+)$ download.php?foto=$1 [L]
RewriteRule ^download/([0-9]+)/$ download.php?foto=$1 [L]
# и т.д. ...
|
P.S. Я скоро сума сойду! | |
|
|
|
|
|
|
|
для: lElectroHardl
(18.01.2011 в 20:56)
| | Я в отчаянии! Что может быть не правильным???
<?php setcookie("rate", "$_COOKIE[rate] $foto", time() + 3600*24*7, "/", "site.org"); // записываю старые куки + новое значение
|
Еще 10 минут и я пойду на базар, за ружьем! | |
|
|
|
|
|
|
|
для: lElectroHardl
(18.01.2011 в 21:47)
| | "site.org" лучше исправить на ".site.org" | |
|
|
|
|
|
|
|
для: lElectroHardl
(18.01.2011 в 21:47)
| | >Еще 10 минут и я пойду на базар, за ружьем!
Отставить ружье.
Из ружья неудобно.
Я дам вам парабеллум. | |
|
|
|
|
|
|
|
для: Trianon
(18.01.2011 в 21:53)
| | Парабеллумов на рынке нет.
cheops
Все-равно! Теперь куки вообще не ставятся. | |
|
|
|
|
|
|
|
для: lElectroHardl
(18.01.2011 в 22:11)
| | Попробуйте сессию установить - она тоже теряется (дело в том, что SID передается через cookie, которые устанавливает сервер - интересно на его реакцию посмотреть)? | |
|
|
|
|
|
|
|
для: cheops
(18.01.2011 в 22:41)
| | Тут еще 2 непонятки:
1. Когда ставлю такие куки
<?php setcookie("rate", "$_COOKIE[rate] $foto", time() + 3600*24*7);
| Куки устанавливаются. Но! Видны они (т.е. их новые значения) только на самой странице голосования ($rate). Как только перехожу обратно, куки как будто и не было.
2. Когда ставлю такие куки
<?php setcookie("rate", "$_COOKIE[rate] $foto", time() + 3600*24*7, "/", ".no_rerlama.org");
| куки не ставятся в принципе.
Сессию установлена всегда. Но... толку 0.
Что посоветуете? Вчера пол ночи рыл, так и не нашел ответа на вопрос.
Лично я предполагаю, что проблема в 4-м параметре. Т.е. куки устанавливаются только для переменной $rate. Или это бред? | |
|
|
|
|
|
|
|
для: lElectroHardl
(19.01.2011 в 16:59)
| | Малость поковыряв, установил, что куки ставятся через раз :).
Т.е., если я ставлю куки вида
setcookie("rate", $_COOKIE["rate"]." ".$foto, time() + 3600*24*7, "/", ".site.org");
|
обращаюсь к скрипту, а потом из этой функции убираю
То куки успешно ставятся и работают. (и на оборот, если обращаюсь к скрипту, к функции, без 6-го параметра, а потом вставляю 6-й параметр - куки успешно ставятся).
Что может указывать на такое поведения скрипта?
UPD: htaccess:
Options -Indexes
ErrorDocument 404 /error/
ErrorDocument 403 /error/
RewriteEngine on
RewriteBase /
# errors
RewriteRule ^error$ error.php [L]
RewriteRule ^error/$ error.php [L]
# и т.д.
|
| |
|
|
|
|
|
|
|
для: lElectroHardl
(19.01.2011 в 19:39)
| | Help... Please. | |
|
|
|
|
|
|
|
для: lElectroHardl
(19.01.2011 в 22:14)
| | Неужели не кто не знает, что это за глюк? | |
|
|
|
|
|
|
|
для: lElectroHardl
(20.01.2011 в 18:16)
| | Вы не поверите. Сегодня попытался поставить куку (имя, значение и время) и ОНА ПОСТАВИЛАСЬ!.
Вопрос КАК??? Вчера делал в точности так же само и нечего не работало. Сегодня - уже все работает.
Кто-то может объяснить сие чудо? | |
|
|
|