Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

PHP. как узнать какая именно POST(GET) переменная была передана из формы в которой много кнопок отправки

Дима Гром Знаток (280), на голосовании 2 года назад
Интернет магазин в котором под каждым товаром есть кнопка 'добавить в корзину'.
Когда человек нажимает кнопку ,то в файл обработчик action='php.php' в зависимости от того,какая именно кнопка была нажата, отправляется $_POST(или GET) переменная.
Вопрос: как файле обработчике понять какая именно кнопка была нажата? то есть я конечно могу написать вот так:
if(isset($_POST['apple'])){echo "была нажата кнопка с товаром яблоко"}
if(isset($_POST['potate'])){echo "была нажата кнопка с товаром картошка"}
if(isset($_POST['tomato'])){echo "была нажата кнопка с товаром помидор"}
и тд..
но разве это правильно? ведь если будет много товаров, например 100,500 и тд . то это будет занимать очень много памяти.
как можно более правильно сделать подобный код?
Голосование за лучший ответ
Денис Попов Мастер (1162) 2 года назад
м... Сложно будет как-то объяснить логику в 500 символов...

переменная должна содержать выбранный товара,
а не сам товар, должен быть переменной.

пусть у кнопки, будет переменная ~ 'item', с товарам, который выбрали.

Если яблоко/картошка/помидор - это категории товаров, то и её можно добавить
'category'

И будут в файл отправляется 2 параметра category и item.
категория: яблоки, что за яблоки: ирландские.
и уже на основе их, строить логику.

Если у тебя это просто по учёбе (задача/курсач), то сойдёт,
но на практике, так себе идея.
EVK IT Сервис К Мыслитель (5236) 2 года назад
Логика странная. Нужно строить по-другому: создаешь заказ из списка id товаров и количества каждого и все!
Зачем кнопки пересылать?
Похожие вопросы