[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отправка GET и вывод в корзине
Страницы: 1, 2, 3
Bezdna
arhat Если честно, то вообще не понял логики этого кода. Для начала - что значит "записывается"? Если в базу, тогда пиши туда что угодно, а потом выводи хоть два размера, хоть пять. А вообще, если я правильно понял, то ты в какой-то готовый скрипт пытаешься добавить свой код?

killer8080
Цитата (arhat @ 7.12.2020 - 22:53)
Подскажите, как сюда записать выбранный размер, только таким образом, чтобы при выборе этого же ботинка. но с другим размером, он в корзине записывалась второй строчкой?

нужно изменить структуру хранимых данных, у тебя prodict_id является ключом массива, поэтому нельзя добавить несколько позиций с одинаковым id, вместо
[
$product_id => $size
]

нужно
[
[
'product_id' => $product_id, 'size' => $size]
]

Ну и сама идея хранить корзину в сессии весьма сомнительна, если данные нужно хранить на сервере, то для этого есть БД. Сессии это временное хранилище, обычно они живут несколько минут (зависит от настроек сервера). Покупатель отвлечётся на 20 минут и корзина отвалится, зачем это нужно? Тогда уж проще хранить её на клиенте в localStorage.
ну и несколько ремарок
<form action="index.php" method="get">

запросы изменяющие состояние на сервере нужно передавать методом POST, это семантическая ошибка.
<input type="submit" name="go" value="Добавить в корзину">

зачем передавать значение кнопки, если на сервере оно не используется?
killer8080
Цитата (bposter @ 7.12.2020 - 20:44)
Мне нужно оба параметра sound и Звук


Второе можно как то вытянуть? <option> я так понимаю не передает нечего кроме value


Под вытянуть я имею введу не используя php, js а средствами html, селект как тож узнает что выбрали

ну как бы смысл атрибута value в том чтобы юзеру выводить читабельный список, а на сервер передавать удобные для обработки значения, например первичный ключ для выборки из бд. Зачем тебе понадобилось на сервере и то и другое получать из запроса?
Ну если все таки нужно, можно в value запихать оба значения через разделитель.
echo "<option value='".$arraus['kit']. ':'. $arraus['neimkat'] ."'>".$arraus['neimkat']."</option>";

Вопрос нужно ли?
arhat
Цитата (Bezdna @ 8.12.2020 - 02:55)
arhat Если честно, то вообще не понял логики этого кода. Для начала - что значит "записывается"? Если в базу, тогда пиши туда что угодно, а потом выводи хоть два размера, хоть пять. А вообще, если я правильно понял, то ты в какой-то готовый скрипт пытаешься добавить свой код?

Да, всё верно. За базу взял черновой код другого "магазина", это визуально поменял и пытаюсь с выводом размеров разобраться.

_____________
Всё об авто
arhat
Цитата (killer8080 @ 9.12.2020 - 00:32)
Ну и сама идея хранить корзину в сессии весьма сомнительна, если данные нужно хранить на сервере, то для этого есть БД. Сессии это временное хранилище, обычно они живут несколько минут (зависит от настроек сервера). Покупатель отвлечётся на 20 минут и корзина отвалится, зачем это нужно? Тогда уж проще хранить её на клиенте в localStorage.

А как ещё можно хранить корзину, подскажите пожалуйста?
Цитата (killer8080 @ 9.12.2020 - 00:32)
ну и несколько ремарок
<form action="index.php" method="get">

запросы изменяющие состояние на сервере нужно передавать методом POST, это семантическая ошибка.

Когда меня get на post, то при нажатии на "добавить" ничего не происходит
Цитата (killer8080 @ 9.12.2020 - 00:32)
<input type="submit" name="go" value="Добавить в корзину">

зачем передавать значение кнопки, если на сервере оно не используется?

А здесь, если честно, пока вообще ничего не понял.....


_____________
Всё об авто
bposter
Цитата (killer8080 @ 8.12.2020 - 20:41)
например первичный ключ для выборки из бд.

Вот этого я как раз и хотел избежать чтобы на обработке не дергать лишний раз базу


У меня вот такой список формируется:


<option value='sities'>Города</option>
<option
value='repairs'>Строительство и ремонт</option>
<option
value='plant'>Растения</option>
<option
value='sound'>Звук</option>
<option
value='fasteners'>Крепежные элементы</option>


Мне нужны оба ключа, то есть название категории на русском тоже нужно записать потом в базу, если его сразу не передать в POST то придется по первому ключу дергать базу (на обработке) и вытягивать название категории на русском. Что я и сделал и забыл пока

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
killer8080
Цитата (arhat @ 9.12.2020 - 00:18)
А как ещё можно хранить корзину, подскажите пожалуйста?

обычно на сайтах магазинов есть регистрация, корзина хранится в БД, тогда у пользователя есть возможность отложить покупку на потом, продолжить покупку с другого устройства, после оплаты отслеживать состояние заказа и т.д.. У тебя судя по всему регистрация не предусмотрена?
Без регистрации нет никакого смысла хранить корзину на сервере, читай про localStorage

Цитата (arhat @ 9.12.2020 - 00:18)
Когда меня get на post, то при нажатии на "добавить" ничего не происходит

Всё происходит, при post данные летят в теле запроса, в урл их не видно. Принимать нужно в $_POST, а не в $_GET.

Цитата (arhat @ 9.12.2020 - 00:18)
А здесь, если честно, пока вообще ничего не понял.....

кнопка имеет атрибут name, значит её значение "Добавить в корзину", передаётся в запросе, ничего страшного конечно нет, просто ни к чему слать лишний мусор.

Цитата (arhat @ 9.12.2020 - 00:11)
Да, всё верно. За базу взял черновой код другого "магазина", это визуально поменял и пытаюсь с выводом размеров разобраться.

если стоит цель - просто сделать магазин, проще сразу взять готовое решение, их таких навалом. Магазин можно будет запустить за пару дней, и сразу начать бизнес , если же задача в само образовании, тогда другое дело rolleyes.gif



Цитата (bposter @ 9.12.2020 - 01:08)
Мне нужны оба ключа, то есть название категории на русском тоже нужно записать потом в базу

а нужно ли? Связанные данные в таблицах должны быть связаны по ключу, видимо что то не так с архитектурой БД.
arhat
Цитата (killer8080 @ 9.12.2020 - 13:18)
если стоит цель - просто сделать магазин, проще сразу взять готовое решение, их таких навалом. Магазин можно будет запустить за пару дней, и сразу начать бизнес , если же задача в само образовании, тогда другое дело


Да, только для самообразования. Всё оказалось не так просто на практике, как в различных уроках....

Цитата (killer8080 @ 9.12.2020 - 13:18)
Без регистрации нет никакого смысла хранить корзину на сервере


Регистрация есть, в БД пока только данные юзера записываются, корзину с заказами "прикрутить" пока даже не пробовал blink.gif

_____________
Всё об авто
Быстрый ответ:

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