Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с COOKIE 
:(
    Опции темы
barcelona
Дата 19.7.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.4.2007

Репутация: нет
Всего: нет



Здравствуйте!
У меня на каждой странице сайта есть модуль следующего содержания (это демонстрационный пример, отражающий суть моей проблемы):
Код

        $name = "m103";
        $idBanner = 12;
        if (!isset($_COOKIE[$name])) {
            setcookie($name, $idBanner);
        } else {
            $value = $_COOKIE[$name]."_".$idBanner;
            setcookie($name, $value);
            echo $_COOKIE[$name];
        }

Для каждой страницы сайта переменная $_COOKIE[$name] будто заново создаётся. То есть на первой странице она равна 12, на второй тоже и на третьей. А вот когда я начинаю обновлять страницы или посещать их по второму разу, то строка '_12' добавляется, но только в пределах этой страницы. Т.е. если я посетил одну страницу 3 раза, то переменная будет равна 12_12, вне зависимости от того, сколько раз я посетил другие страницы того же сайта. Помогите разобраться пожалуйста. Мне нужно, чтобы установка переменной COOKIE происходила из страницы в страницу.        

Это сообщение отредактировал(а) barcelona - 19.7.2008, 13:46
PM MAIL   Вверх
Feldmarschall
Дата 19.7.2008, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



не вчитывался, но навскидку:
а сколько у тебя наких name на сайт?
или, проще говоря, сколько уникальных кук?
PM   Вверх
barcelona
Дата 19.7.2008, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.4.2007

Репутация: нет
Всего: нет



Цитата(Feldmarschall @ 19.7.2008,  13:47)
а сколько у тебя наких name на сайт?
или, проще говоря, сколько уникальных кук?

4. Так возможно ли, чтобы на одной странице изменить переменную COOKIE, и на других страницах это изменение учитывалось?
PM MAIL   Вверх
Feldmarschall
Дата 19.7.2008, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Ну разумеется. так оно и действует. 
хотя все зависит от того, что имеется в виду "страница", "посетил" и так далее.

так, как описано, работает этот демонстрационный пример на самом деле? или ты не проверял, а написал только в демонстрационных целях?
PM   Вверх
vasac
Дата 19.7.2008, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 8
Всего: 36



Вопрос: как изменить поведение кук, устанавливаемых функцией setCookie.
Ответ: сходить, таки, в документацию по этой функции. Посмотреть, что означают все параметры.
PM WWW   Вверх
mustafallah
Дата 19.7.2008, 14:56 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 18.3.2008

Репутация: 1
Всего: 1



PM MAIL   Вверх
lukas
Дата 20.7.2008, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



Ну всего то нужно указать четвертый необязательный параметр Path = '/', чтобы куки действовали на всем сайте...
Код


$name = "m103";
        $idBanner = 12;
        if (!isset($_COOKIE[$name])) {
            setcookie($name, $idBanner,time()+3600,'/');
        } else {
            $value = $_COOKIE[$name]."_".$idBanner;
            setcookie($name, $value,time()+3600,'/');
            echo $_COOKIE[$name];
        }


Это сообщение отредактировал(а) lukas - 20.7.2008, 16:20


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
vasac
Дата 20.7.2008, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 8
Всего: 36



lukas, если считаете, что человек не сможет сам сходить по данной ему ссылке, хоть пишите корректно - там не третий параметр.
PM WWW   Вверх
lukas
Дата 20.7.2008, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



vasac, чуть ошибся, исправил...


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
barcelona
Дата 21.7.2008, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.4.2007

Репутация: нет
Всего: нет



Можно ещё один вопрос: если я уничтожаю COOKIE строчкой
Код

setcookie($module, '', time()-3600, '/');

а потом тут же пишу 
Код

setcookie($module, $value, 0, '/');

будет ли переустановлено значение COOKIE? Мне нужно именно сначала уничтожить переменную, а потом тут же её создать. Сейчас у меня переменная уничтожаться не хочет...
PM MAIL   Вверх
Feldmarschall
Дата 21.7.2008, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



при чем здесь переменные? Setcookie устанавливает куки, а не переменные.
определись с тем, с чем ты хочешь работать, и с этим работай.
код
Код

setcookie($module, '', time()-3600, '/');
setcookie($module, $value, 0, '/');

не имеет смысла
PM   Вверх
vasac
Дата 21.7.2008, 10:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 8
Всего: 36



Цитата(barcelona @  21.7.2008,  10:24 Найти цитируемый пост)
будет ли переустановлено значение COOKIE? 

а что говорит эксперимент?

Цитата(barcelona @  21.7.2008,  10:24 Найти цитируемый пост)
Мне нужно именно сначала уничтожить переменную, а потом тут же её создать. 

мотивируйте
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0510 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.