powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Корзина (работа с куками)
21 сообщений из 21, страница 1 из 1
Корзина (работа с куками)
    #32272448
Фотография Groove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, поправьте меня, если не прав:

мне надо создать корзину с выбранными пунктами одной сущности.

Все хранится в БД, и у каждой записи есть свои идентификаторы.
Если делать так:
Код: plaintext
1.
При добавлении в корзину считывать определенный кукис и через запятую добавлять идентификатор сущности из БД. 
При получении получать массив из кука с разделителем  ","  и строить лист сущностей.


Это будет правильно? Или это делается как то по другому?
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32272566
Фотография ©Felix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще то ето делаеться сесиями....
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32272589
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у тебя в куках лежит ид сессии, а уже в базе лежит соответствие сессии, юзера и выбранных товаров. думаю так.

например, две таблицы - сессия-юзер, юзер-товар

тогда если юзер выйдет (куки сотрутся), потом зайдет и у него будет новая сессия, товары в корзине все равно останутся
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32272598
Фотография Groove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но это только на время жизни сесии
у меня сессия живет 15 минут, для определения количества активных пользователей

а если чел зайдет завтра, то корзина будет пуста?
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32272605
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по моей схеме корзина будет не пуста.

я не совсем въехал в твою схему, мне показалось, что ты выбранные товары (их айдишники) суешь в куки. а на их размер может быть ограничение...
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32272648
Фотография Groove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот схема мне понравилась на примере автопортала

чекбоксиками отмечаешь товар, он при помощи java на стороне клиента делает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name +  "="  + escape(value) +
      ((expires) ?  "; expires="  + expires.toGMTString() :  "") +
      ((path) ? " ;   path= " + path : "  ") +
      ((domain) ? " ; domain= " + domain : "  ") +
      ((secure) ? " ; secure " : " ");
  document.cookie = curCookie;
}

и без перегрузки страницы пишет в куки
так вот вроде как там ограничение какое то есть

>> мне показалось, что ты выбранные товары (их айдишники) суешь в куки
именно, я вот и пытаюсь спросить круто ли это?
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32272672
Фотография Groove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в куках появляется запись:

mychoose
115159---%3E115118---%3E115119---%3E115120---%3E115121---%3E
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32272674
Фотография Groove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фйнкция для работы с добавлением куков привязана к событию OnClick на чекбоксах

Код: plaintext
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.
29.
30.
31.
32.
33.
34.
35.
function selcar(idcar, control)
{

  var today = new Date();
  var expiry = new Date(today.getTime()+ 30 * 24 * 60 * 60 * 1000 );
  var b = eval( "document.forms['listform']." +control);
  var cookstr = new String(getCookie('mychoose'));
  //alert(control+','+idcar);
  //alert(cookstr.indexOf(idcar)+'; '+cookstr);
  if (b.checked)
   { 
     if (cookstr.indexOf(idcar) == - 1  ) 
      {
        if (cookstr.indexOf('null') > - 1 )
         { var newcookie = new String(idcar+ "--->"); }
 
        else
         { var newcookie = new String(cookstr+idcar+" --->"); }
 
        setCookie('mychoose',newcookie,expiry); 
      }
   }
  else
   { 
     if (cookstr.indexOf(idcar) > - 1  ) 
      {
        arrstr = cookstr.split( "--->");
 
        newcookie = " ";
        for (i in arrstr)
         { if((arrstr != idcar) && (arrstr[i] != '')) { newcookie = arrstr[i]+"  [i]--->"+newcookie;} }
 
        setCookie('mychoose',newcookie,expiry); 
      }
   }
}
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32272697
MrGreeN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Groove
Это не круто, это так и надо....единственная альтернатива - грузить базу текстовым полем с ID товаров в корзине разделённых чем нибудь....
IMHO не вариант
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32272716
Фотография Groove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос снят!
Большое спасибо!
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32272728
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>>мне показалось, что ты выбранные товары (их айдишники) суешь в куки
>>именно, я вот и пытаюсь спросить круто ли это?
>Это не круто, это так и надо....единственная альтернатива - грузить базу текстовым полем с ID товаров в корзине разделённых чем нибудь....

че-то я отстал от жизни.

зачем в куке хранить что-то кроме айди сессии??? когда можно набор товаров хранить в базе...
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32272942
MrGreeN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем дополнительные транзакции в/из бызы ?
Не ну конечно если эти данные нужны и в далёком будующем, то ладно...тогда и SID передавть в хидере дабы вообще от куков избавиться...
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32273002
Фотография Groove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>А зачем дополнительные транзакции в/из бызы ?
Абсолютно согласен с господином MrGreeN !!!
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32273142
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну ладно.

действительно, зачем дополнительно доставать коды товаров из базы на локальной машине.

когда можно легко их перегнать по интернету с машины клиента - это ж гораздо быстрее, надежнее, и дает возможность пользователю добавить какие-нибудь коды товаров от себя ;)
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32273222
MrGreeN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А на кой их модифицировать если они уже удалены ???
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32273249
MrGreeN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это же не ТА корзина, а корзина набора товаров (а не удаления)...
Тогда отставить куки...
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32273547
CM Hungry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В куках не надо хранить id сессии. Тогда если клиент зайдет с другой машины - то все, потеряна корзиночка? В лучшем случае в куках хранится id клиента, если разрешен автологин. В противном случае все хранится на сервере, в базе.

табличка "товары"
табличка "клиенты"
табличка связей "товар-клиент" с параметрами типа "в корзине", "уже покупал" и т.п.
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32273769
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CM Hungry>В куках не надо хранить id сессии. Тогда если клиент зайдет с другой машины - то все, потеряна корзиночка?

я предлагал так:

fedd писал:
у тебя в куках лежит ид сессии, а уже в базе лежит соответствие сессии, юзера и выбранных товаров. думаю так.

например, две таблицы - сессия-юзер, юзер-товар

тогда если юзер выйдет (куки сотрутся), потом зайдет и у него будет новая сессия, товары в корзине все равно останутся


ну почему ж потеряна корзиночка???

сессию закрыл - корзиночку потерял. начал новую сессию - содержимое твоей корзиночки достали из базы, и ни фига она не потеряна.
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32274211
Фотография Groove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fedd писал:ну почему ж потеряна корзиночка???

сессию закрыл - корзиночку потерял. начал новую сессию - содержимое твоей корзиночки достали из базы, и ни фига она не потеряна.

вот почему:

Groove писал:но это только на время жизни сесии
у меня сессия живет 15 минут , для определения количества активных пользователей

а если чел зайдет завтра, то корзина будет пуста?
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32274319
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аааааааааааааааа!!!! ;)

1) я ж говорю - корзину хранить в таблице

корзина
=======
ид пользователя
ид товара

а сессию в таблице

сессия
======
ид сессии
ид пользователя
время начала сессии

хоть сессия 100000000 раз кончится, хоть он через год зайдет, сессия будет новая, а товары останутся!!!

2) если хранить корзину в таблице

сессия-корзина
==============
ид сессии
ид пользователя
ид товара
время начала сессии

а тем более в куках, которые живут 15 минут, то конечно, тогда корзина будет пуста!

поскольку запоминается только последняя фраза, пишу:
я не предлагаю вариант 2), я предлагаю вариант 1)
...
Рейтинг: 0 / 0
Корзина (работа с куками)
    #32274746
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, Groove, ессно это все не про понравившуюся тебе схему "бибики.ру", где javascriptом без перезагрузки пишутся коды товаров в куки. тут конечно, без этого не обойтись....

но я бы так - для совместимости - не делал
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Корзина (работа с куками)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]