![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
f999t1 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 11.4.2006 Репутация: нет Всего: нет |
подскажите пожалуйста с построением корзины или точнее с алгоритмом построения корзины на сессиях.
уже кучу сайтов перерыл, везде по разному описано, короче сейчас каша в голове. пока создалось такое представление, что надо на каждой странице открыть сессию session_start() далее для каждого пользователя присвоится уникальный индификатор ( 32 знака.) тут первый вопрос куда его записывать? и вообще надо ли его где-то хранить в какой либо переменной. далее нажимаю на позицию товара и пересылаю id товара и какой либо его параметр в массив $_SESSION а на странице самой корзины уже извлекаю данные из этого массива. вот еще код нашел корзины http://www.web-shpargalka.ru/scripti/corzina1.php
здесь первая часть кода. посетителям присваивают уникальные номера. не пойму зачем два раза к базе коннектится? зачем увеличивать число при каждом вхождении и вообще можно ли обойтись без записи в базу данных количества посетителей? и откуда взялся $_SESSION['talon'] почему именно `talon`? Полная неразбериха. Подскажите с этими сессиями В остальном коде из примера все понятно. |
|||
|
||||
DioNiR |
|
||||||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
Потому что кто писал эту статью идиот не знающий как программировать...
Ответ выше.
Можно записывать в файл... ![]() То что предлагают они полный бред!
$_SESSION['talon'] берется от сюда:
А потому что автор статьи идиот по этому ![]() --------------------
Думали это конец? Ха, всё только начинается. |
||||||||||||
|
|||||||||||||
f999t1 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 11.4.2006 Репутация: нет Всего: нет |
резко вы об авторе.
может подскажите какую-нибудь статью, где правильно описано? |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Неправильное использование функции:
http://www.php.net/manual/ru/features.sessions.php |
|||
|
||||
f999t1 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 11.4.2006 Репутация: нет Всего: нет |
а чтонибудь применительно для корзины есть примеры?
про сессии теорию уже читал, но на практике никак не могу применить. а те примеры которые нахожу, все как-то совсем по разному написаны, да еще как здесь говорят неправильны |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Подход "я не особо хочу разбираться и думать, хочу готовую корзину, чтоб все работало магическим образом с коробки" не правилен! Поэтому тут мало кто захочет идти по такому пути и помогать в нем. Правильным будет разобраться с работой сессий, продумать архитектуру (что такое корзина? для чего она нужна? каким требованиям отвечает?) и применить необходимые знания на разработанной схеме.
|
|||
|
||||
f999t1 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 11.4.2006 Репутация: нет Всего: нет |
я не прошу готовую корзину.
дайте правильный пример с сессией. По одной только теории не получается разобраться. Еще раз повторю вопрос, что делать с индефикатором пользователя? Его надо проверять или просто забить на него, заполняя в $_SESSION id для товаров? |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
давай, сначала, разберемся с ожиданиями
как работает "корзина"? ну, в терминах "выбираем, сохраняется, перезагрука страницы" и т.д. а там уже перейдем к тому, как подцепить сессии для реализации |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Еще раз повторяю ответ: зависит от того, как вы спроектируете и что вам нужно.
Воспринимайте $_SESSION как обыкновенный массив, n-мерный. Хотите - пишите так:
А вообще в сессии есть смысл хранить только для незарегистрированных пользователей данные. Для зарегистрированных - есть База (с табличкой, например, user_cart). |
|||
|
||||
f999t1 |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 11.4.2006 Репутация: нет Всего: нет |
я предполагаю, что в начале нажимаем на кнопку "добавить" на странице с товаром. при этом остаемся на той же странице, потом переходим на страницу корзины и там редактируем ее , удаляем, изменяем количество. незарегестрированный пользователь может добалять в корзину, но офрмлять заказ не может.
если пользователь не зареган, то надо вместо USER_ID писать значение session_id() ? |
||||
|
|||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
А зачем? Сессию другой никто не получит, зачем ее там персонифицировать? Когда куку ставишь с нулевым временем - она становится сессионной (то есть до закрытия вкладки), и по своему поведению аналогична сессии.
|
|||
|
||||
f999t1 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 11.4.2006 Репутация: нет Всего: нет |
то есть для каждого вошедшего пользователя своя сессия.
и соответственно свой n мерный массив. в которую записываю все данные, которые нужны: id товара, количество еще что-то, а потом на другой странице вытаскиваю данные из него без всяких GET и POST. id сессии мне вообще никак не надо использовать. после того как заказ сформирован, все эти данные записываю в таблицу заказов. Предварительно присвоив новому пользователю ID. |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Не увидел вопроса в последнем посте, но да - все правильно написано. вообще существует два способа передачи идентификатора сессии, обычно это делается в куках сессионных.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |