ФорумПрограммированиеPHP для идиотов → Корзина(интернет-магазина) на Cookie

Корзина(интернет-магазина) на Cookie

  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 12 августа 2007 г. 17:05

    Вообщем что то вроде интернет-магазина.
    Писать регистрацию,личный кабинет - впадлу.

    Собственно нужно определять юзера по чему то(если бы была авторизация,я бы запомнил ID пользователя и определял бы по нему,но её нет =) ).

    Собственно буду определять по $_COOKIE['cart_id'].(Я незнаю как устроена система COOKIE,предполагаю для каждого пользователя будет создан свой уникальный ID,правильно ли я мыслю?,а?)

  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 12 августа 2007 г. 17:50, спустя 44 минуты 24 секунды

    не совсем.
    куки предназначены для хранения на стороне клиента переменных сценария. Для того чтобы
    для каждого пользователя будет создан свой уникальный ID
    необходимо этот id сформировать, запомнить на стороне сервера (напр в базе) для дальнейшей идентификации, запомнить на стороне клиента в куках.
    кроме id, кстати, неплохо запоминать в базе текущее время, дабы потом удалять старые записи.
    далее алгоритм такой: сценарий считывает куки - если он их не находит, либо они устарели - генерирует id и записывает его в базу и клиету в куку, если находит - идентифицирует юзверя.
    http://forum.pyha.ru/topic/78.0
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 12 августа 2007 г. 18:05, спустя 15 минут 43 секунды

    Вообщем $_COOKIE['cart_id'] загоняем в БД.

    Ну а обращение к выводу данных к корзине такое…

    …WHERE `cart_id` = '".$_COOKIE['cart_id']."'

    так?
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 12 августа 2007 г. 18:11, спустя 5 минут 33 секунды

    обращение такое
    а в базу мы загоняем не $_COOKIE['cart_id'], а сгенерированное значение $id.. и его же загоняем в куку
    и кстати, неплохо до этого проверять не отключены ли у клиета куки.
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 12 августа 2007 г. 18:36, спустя 25 минут 24 секунды


    а сгенерированное значение $id.. и его же загоняем в куку

    непонял
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 12 августа 2007 г. 19:09, спустя 33 минуты 10 секунд

    фраза
    Вообщем $_COOKIE['cart_id'] загоняем в БД.
    допускает кучу вариантов реализации - в частности - считать куку и записать ее в базу.
    алгоритм описан выше, хотя уточню
    сценарий проверяет включены ли куки - если нет - поылает лесом, если да - пытается считать из них id- если кук нет,, либо они устарели - генерирует id и записывает его в базу и клиету в куку, если находит - идентифицирует юзверя
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 12 августа 2007 г. 19:54, спустя 44 минуты 21 секунду

    Как даже правильно выразиться то…

    По умолчанию "id cookie"…sid ?
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 12 августа 2007 г. 20:05, спустя 11 минут 16 секунд

    у куки нет id. есть массив $_COOKIE, в который ты можешь записать переменную id. Объяснение что такое куки и как с ними работать есть в ссылке в моем 1-м посте.
    что значит "по умолчанию"? выше такого нигде нет.
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 13 августа 2007 г. 14:37, спустя 18 часов 32 минуты 12 секунд

    А почему куки а не сессии?
    Или есть прямая необходимость запоминать заказ после того как юзер что-то добавил в корзину и ушел с сайта?
    И опять же если кто-то другой с этого компа зайдет то у него будет корзина предыдущего человека.
    from TRIAL with LOVE
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 13 августа 2007 г. 20:40, спустя 6 часов 2 минуты 39 секунд


    Или есть прямая необходимость запоминать заказ после того как юзер что-то добавил в корзину и ушел с сайта?

    Именно

    И опять же если кто-то другой с этого компа зайдет то у него будет корзина предыдущего человека.

    o_O …это как так?Магия?
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 14 августа 2007 г. 9:28, спустя 12 часов 48 минут 20 секунд

    Почему магия то???
    Вот пришел человек, залез на сайт, для него была создана кука.
    Он ушел с сайта, потом вернулся через какое-то время и увидел что у него в корзине лежат всё те же незаказанные товары.
    Всё чудесно.
    А теперь представим, что после того как он вышел, пришел другой человек, сел за его компьютер и полез туда же сделать заказ, и что он видет?!! Он видет что в корзине лежат чужие товары.
    Или у тебя сервер будет каким-то магическим образом проверять кто перед ним, первый заказчик или второй!?!
    from TRIAL with LOVE
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 14 августа 2007 г. 10:15, спустя 47 минут 13 секунд

    время жизни куки тоже не обязательно до 10-ти лет растягивать, кстати. можно вообще не ставить - тогда кука будет живой исключительно на "один сеанс работы с броузером". все не так страшно :)
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 14 августа 2007 г. 11:01, спустя 45 минут 29 секунд

    Если ставить куки на время жизни сеанса, то может быть проще всё же сессии юзать?
    from TRIAL with LOVE
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 14 августа 2007 г. 11:07, спустя 6 минут 4 секунды

    может.
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 14 августа 2007 г. 13:10, спустя 2 часа 3 минуты 14 секунд

    в печенюшке хорошо логин хранить.
    без пароля.
    что б юзер не забыл.
    а как он пароль вспомнит - это уж его проблемы. :)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!