Автор Тема: Как обновить куки?  (Прочитано 7653 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Pr0Head

  • Members of GreenPeace
  • Постоялец
  • ***
  • Сообщений: 219
  • +0/-0
  • 2
    • Просмотр профиля
    • http://digital-market.ru
Как обновить куки?
« : 08 Ноября 2002, 19:35:31 »
Здравствуйте!

Почему-то не получается обновить кукисы.

Делаю так:
$mygoods = $HTTP_COOKIE_VARS["goods"].",".$id;
setcookie("goods", $mygoods);

но кука не обновляется.

Пробовал делать массив, типа $HTTP_COOKIE_VARS["goods"][], но тоже не делает, а просто убивает старую и добавляет новую. :rolleyes:

Пробовал как на локалке (Вин), так и у хостера (*никс).
Банк выполнил недопустимую операцию и будет закрыт!

Оффлайн new

  • .
  • Постоялец
  • ***
  • Сообщений: 135
  • +0/-0
  • 2
    • Просмотр профиля
Как обновить куки?
« Ответ #1 : 08 Ноября 2002, 21:38:12 »
Pr0Head
Цитировать
но кука не обновляется


Она и не будет так обновлятся. И не должна обновляться. В том же самом запросе что ты хотел бы получить?
Или - что значит обновляться, что там должно обновляться?
Собственно в чём твой вопрос?
Вообще рекомендую делать простой debug всегда, типа для просмотра значений переменных.
Куки штука безотказная и несложная, но надо руководствоваться  документацией.

Или попытайся сформулировать вопрос так, что бы дать конкретный совет.

Всего хорошего.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Как обновить куки?
« Ответ #2 : 09 Ноября 2002, 16:21:09 »
Цитировать
но кука не обновляется.
скорее всего это из-за незнания HTTP
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Pr0Head

  • Members of GreenPeace
  • Постоялец
  • ***
  • Сообщений: 219
  • +0/-0
  • 2
    • Просмотр профиля
    • http://digital-market.ru
Как обновить куки?
« Ответ #3 : 09 Ноября 2002, 21:44:39 »
2 new:  Мне нужно в "плэйлист" добавлять, удалять композиции.

Принцип - как в интернет-магазине.
Допустим есть каталог композиций. У каждой композиции есть ссылочка "добавить в плэйлист", после нажатия на которую id этого трэка записывается в куки.

После того как выбор закончен, пользователь переходит в свой плэйлист и там может удалить ненужные трэки.

Как мне их записать в виде массива типа:
$HTTP_COOKIE_VARS["goods"][0] = id первого трэка,
$HTTP_COOKIE_VARS["goods"][1] = id второго трэка
и т.д. ?
Банк выполнил недопустимую операцию и будет закрыт!

Оффлайн Pr0Head

  • Members of GreenPeace
  • Постоялец
  • ***
  • Сообщений: 219
  • +0/-0
  • 2
    • Просмотр профиля
    • http://digital-market.ru
Как обновить куки?
« Ответ #4 : 10 Ноября 2002, 12:43:22 »
Хм.

Сессии по такому же принципу работают, а куки нет. :\\
Банк выполнил недопустимую операцию и будет закрыт!

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Как обновить куки?
« Ответ #5 : 10 Ноября 2002, 13:59:35 »
Pr0Head
сессии хранят данные на сервере а куки у клиента.
Если ограничить кол-во композиций в плейлисте то можно сделать что-то вроде:
setcookie("list",imlpode("|",$array_of_items))
Насколько я помню стандарт строка должна быть не более 4096 байт
а в скриптах $list = exlpode("|",$_COOKIE[\'list\']);


Итог:
делай через сессии и не мучайся
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как обновить куки?
« Ответ #6 : 10 Ноября 2002, 15:54:38 »
Макс
Сессии наверняка тут не подойдут, ему и между сессиями надо сохранять плейлист.

Pr0Head
Если хранить одну запись в куке, то учти ограничение в 20 кук, которые ты можешь поставить.

Записать как есть
setcookie("goods[0]",$goods0,3000000);
setcookie("goods[1]",$goods1,3000000);

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Как обновить куки?
« Ответ #7 : 10 Ноября 2002, 17:15:46 »
А почему нельзя хранить плейлист в базе, а в куках только ИДшник?
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Как обновить куки?
« Ответ #8 : 10 Ноября 2002, 17:24:44 »
Цитировать
Сессии наверняка тут не подойдут, ему и между сессиями надо сохранять плейлист.
ну тогда такие данные вообще в отдельной таблице хранить нужно. Примерно такого типа :
--------------------------
| user_id  | track_id |
--------------------------
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Pr0Head

  • Members of GreenPeace
  • Постоялец
  • ***
  • Сообщений: 219
  • +0/-0
  • 2
    • Просмотр профиля
    • http://digital-market.ru
Как обновить куки?
« Ответ #9 : 10 Ноября 2002, 19:30:34 »
2 Metaller: Так названия трэков и храняться в отдельной таблице, в куки нужно только их id записывать.
Цитировать
У каждой композиции есть ссылочка "добавить в плэйлист", после нажатия на которую id этого трэка записывается в куки.


2 Maкс: Согласен, было бы правильнее. Но допустим, что пользователь навыбирал трэков, решил их скачать как-нть потом и благополучно забыл о сайте. А данные остались храниться. Постоянно отслеживать и чистить базу не хочеться. :/

2 RomikChef: А как добавлять автоматически в куки новый элемент массива? То есть как правильно сделать запись такого рода:
if (добавление нового трэка) {
$cnt = count($HTTP_COOKIE_VARS["goods\']);
setcookie("goods[$cnt]", $id, 3000000);
}

Пока делаю так:
в сессии регистрирую переменную "track" и записываю туда данные в виде одной записи "$id,$id2,$id3" и т.п. а потом считываю, делаю explode и получаю массив.
Банк выполнил недопустимую операцию и будет закрыт!

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Как обновить куки?
« Ответ #10 : 11 Ноября 2002, 09:54:39 »
Ну, я вообще-то имел в виду то же, что и Макс...

введи поле для юзера время последнего логона. Раз в день по крону запускай чистильщик, который удаляет плейлист юзера, которого уже не было, допустим, месяц.... ИМХО, это лучше, чем куки....
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как обновить куки?
« Ответ #11 : 11 Ноября 2002, 17:12:31 »
Цитировать
Пока делаю так:
в сессии регистрирую переменную "track" и записываю туда данные в виде одной записи "$id,$id2,$id3" и т.п. а потом считываю, делаю explode и получаю массив.

идеально

Оффлайн Pr0Head

  • Members of GreenPeace
  • Постоялец
  • ***
  • Сообщений: 219
  • +0/-0
  • 2
    • Просмотр профиля
    • http://digital-market.ru
Как обновить куки?
« Ответ #12 : 11 Ноября 2002, 17:35:49 »
:)

Вроде все нормально заработало.

Спасибо всем за помощь!
Банк выполнил недопустимую операцию и будет закрыт!

Оффлайн alesh

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 97
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alesh.ru
Как обновить куки?
« Ответ #13 : 12 Ноября 2002, 22:44:09 »
Прохед, а не легче  куку сначла стереть , а потом записать заново?

Оффлайн Pr0Head

  • Members of GreenPeace
  • Постоялец
  • ***
  • Сообщений: 219
  • +0/-0
  • 2
    • Просмотр профиля
    • http://digital-market.ru
Как обновить куки?
« Ответ #14 : 13 Ноября 2002, 18:29:26 »
Да что-то не клеется у меня с ними, хотя они вроде поще сессий.

Пробовал, но видимо как-то неправильно делал.
Банк выполнил недопустимую операцию и будет закрыт!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28