Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2011, 03:23   #1
annddrrey
 
Регистрация: 03.11.2011
Сообщений: 3
По умолчанию вопрос о куках в создании корзины

Короче...
Пару недель назад заказали написать корзину (до этого ни разу не писал), немного начитавшись - написал, все отлично работает, но на сессиях...
пришла мысль сделать это на куках.... но не пойму смысла идентификации пользователя (искать в инете уже мозг болит), -
смысл сессий понятен: существует таблица с товаром (в БД), новый пользователь заходя на сайт приобретает свой Id сессии и с этим id уже манипулируешь как хочешь,-например можно записать его в др таблицу где также записываются id товара, количество и время создания, потом все это дело по id сессии отсылаешь на почту а по времени создания записи в таблице - чистишь ее если время созд записи больше какого-то времени...

что с куками??? - как идентифицировать пользователя??? - нужно ли записывать данные о нем в табл??? когда он оформляет товар как понять какой товар он заказал?
annddrrey вне форума Ответить с цитированием
Старый 03.11.2011, 12:28   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от annddrrey Посмотреть сообщение
что с куками??? - как идентифицировать пользователя??? - нужно ли записывать данные о нем в табл??? когда он оформляет товар как понять какой товар он заказал?
Использование cookies в качестве средства авторизации и идентификации пользователей - очень плохая идея, по причине возможности любых манипуляций с cookies на стороне клиента.

Остальной алгоритм работы с cookies в вашем примере точно такой же, как и с сессиями.
Организовываете в cookies массив cart, пишете туда ID пользователя, добавляете ID выбранных им товаров, сохраняете.
Всё абсолютно также, меняется только место хранения информации - всё хранится у клиента(что может быть минусом).

PHP И Cookies
Andkorol вне форума Ответить с цитированием
Старый 03.11.2011, 14:57   #3
MyXa
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 77
По умолчанию

создавай запись в mysql таблице где название строки айпишник юзера
I have cheats!!!!
MyXa вне форума Ответить с цитированием
Старый 03.11.2011, 15:46   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,156
По умолчанию

и вообще у куков ограничение на размер - вроде 2 кб... вы уверены что все товары и информация по ним уместиться туда?
ADSoft вне форума Ответить с цитированием
Старый 03.11.2011, 16:15   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
создавай запись в mysql таблице где название строки айпишник юзера
IP не уникален.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.11.2011, 16:27   #6
annddrrey
 
Регистрация: 03.11.2011
Сообщений: 3
По умолчанию

что касается IP - большинство пользователей в наше время имеют динамические IP.

А то что куки вещь не надежная - я понимаю, но а какие варианты сделать чтобы работать с корзиной можно было через неделю допустим... ведь разные случаи бывают... да и по разговорам "пользователей" - один из критериев долгосрочность хранения.
Ну а емкость кука 2 кб - это около 250 символов, в куках можно хранить, насколько я понимаю, только id товара и к-во.
annddrrey вне форума Ответить с цитированием
Старый 03.11.2011, 16:51   #7
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Тут такое дело - если пользователь зарегистрирован и авторизован - то нет особых проблем хранить незавершенные "покупки" каждого такого пользователя в отдельной таблице в БД, в формате user_id => goods_ids.

Если же речь идет о незарегистрированных пользователях - то имеет ли смысл вообще хранить такую информацию, ведь не факт, что такой пользователь вернется (и именно с такими же намерениями в плане покупок)?

Ну а если такая необходимость всё же возникла - принцип тот же, генерите более-менее уникальный ID, вешаете пользователю cookies с этим ID (с определенным временем жизни), ну а в таблицу БД пишете данные о его корзине, в таком же формате(сгенерированный ID => goods_ids).

Ну и не забывайте чистить такую таблицу через промежутки, равные времени жизни установленных вами cookies (cookies сдохли - лишние записи из таблицы удалились).

Последний раз редактировалось Andkorol; 03.11.2011 в 17:01.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очистка корзины KennyHack Visual C++ 7 12.03.2011 14:46
Вопрос в создании теста в VBA HellkilleR Microsoft Office Excel 2 18.04.2010 10:37
Возник вопрос при создании сайта Fortune55 Общие вопросы по Java, Java SE, Kotlin 1 06.04.2009 12:49
Вопрос при создании сайта Fortune55 Помощь студентам 0 06.04.2009 02:10
Вопрос о создании БД Molotok Microsoft Office Access 3 11.11.2008 15:09