[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Простая корзина для интернет магазина
Paulosfnt
Здраствуйте, сейчас работаю над одним сайтом где необхадима простая корзина для покупок.В интернете нашел множество всяких примеров, но все они очень длинные и запутанные, а хотелось бы,что-то очень простое от руки как говориться...Пробывал написать сам но, что то не получаеться:( так как я никогда не сталкивался с написаниям скрипта для корзины.Насколько я понял самый простой вариант сделать на сейсиях, начил,что то пытаться сделать с сейсиями и окончательно запутался....подскажите пожалуйста как это правильно делаеться, а дальше я уже постараюсь написать сам.Спасибо.



Спустя 3 минуты, 46 секунд (6.07.2012 - 15:21) kamanch написал(а):
Корзина на сессиях - плохой тон.
Пользователь окно закрыл. Потом опять пришел - корзина пустая.
В базу записывать. Для каждого заказа пишем в базу корзину. Как только произошло событие "заказ оформлен", корзина в базе очистилась.

Спустя 10 минут, 34 секунды (6.07.2012 - 15:31) Paulosfnt написал(а):
Получаеться насколько я понял. для каждого нового пользователя даже пускай и не зарегестрированного мы создаем отдельную сейсию, потом все это записываем в базу с помощью формы ПОСТ ( а можно записать в дазу д. не переходя на другую страницу? как это обычно делаеться с помощью форм....)

Спустя 13 минут, 57 секунд (6.07.2012 - 15:45) DarkLynx написал(а):
Зачем не авторизованному пользователю сессия если он не собирается ничего заказывать например?
Делайте при оформлении заказа проверку, если сессии нет, создаете ее.
Если сессия у пользователя уже есть, то наверняка он что то да пытался оформить, не забываем это вывести в его корзину.
Ну и конечно все эти данные храним в таблице бд.

Цитата
а можно записать в дазу д. не переходя на другую страницу?

Если я правильно понял, нужно отправить данные без перезагрузки страницы. Если да ajax в помощь

Спустя 2 минуты, 26 секунд (6.07.2012 - 15:47) kamanch написал(а):
Ну, для записи в базу через форму есть 2 основных метода:
1. - обратиться хотя бы к студенту 1 курса, который обучается по специальности программирование, купить ему пару пива и он сделает.
2. - самому прочитать хотя бы 2-3 странички с любого сайта, который выдаст гугль по запросу "php для начинающих"

Ты не обижайся. Но невозможно человека научить выпекать хлеб, если он даже не знает, что такое мука.

Спустя 41 минута, 23 секунды (6.07.2012 - 16:29) Invis1ble написал(а):
Лучше в куки писать, имхо



Спустя 1 минута, 7 секунд Invis1ble написал(а):
Цитата
Ну и конечно все эти данные храним в таблице бд.

как ты будешь идентифицировать неавторизованного юзера?

Спустя 2 часа, 23 минуты, 15 секунд (6.07.2012 - 18:52) kamanch написал(а):
Цитата
как ты будешь идентифицировать неавторизованного юзера?

Имеем 2 случая:
1. - пользователь авторизировался.
2. - пользователь НЕ авторизировался.

В случае 1 привязываемся к user_id;

В случае 2 создаем guest_user_id и работаем с ним. Если в этой же сессии прошла авторизация, то guest_user_id уничтожаем и далее работаем с user_id

На этом принципе работают osCommerce, PrestaShop и многие другие CMS

Спустя 1 час, 20 минут, 56 секунд (6.07.2012 - 20:13) DarkLynx написал(а):
Цитата (Invis1ble @ 6.07.2012 - 13:29)
Лучше в куки писать, имхо



Спустя 1 минута, 7 секунд Invis1ble написал(а):
Цитата
Ну и конечно все эти данные храним в таблице бд.

как ты будешь идентифицировать неавторизованного юзера?

Я может не совсем понял.. Объясню про что я говорил.

Случай первый - авторизованный пользователь
После успешной авторизации имеет сессию например $_SESSION['uid'];
Сделал заказ получил сессию $_SESSION['sid'];
В таблице отвечающей за корзину записываем $_SESSION['sid'] и иды товаров которые в ней находятся.

Случай второй - не авторизованный пользователь
Авторизацию он не проход следовательно isset($_SESSION['uid']) == false;
Сделал заказ получил сессию $_SESSION['sid'];
В таблице отвечающей за корзину записываем $_SESSION['sid'] и иды товаров которые в ней находятся.

Ну как то так... в кратце
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.