Получение данных от Input Checkbox или Radio

Статус
В этой теме нельзя размещать новые ответы.

erik87

Старатель
Регистрация
30 Сен 2008
Сообщения
206
Реакции
10
У меня такой код:
HTML:
<input type="checkbox" name="2plus1"> Закажите 2 и получите 1 бесплатно!<br />
<input type="checkbox" name="3plus2"> Закажите 3 и получите 2 бесплатно!<br />
<input type="checkbox" name="one"> Закажите одну.
Код для отправки данных:
PHP:
$field_order_variant1 = $_POST['2plus1'];
$field_order_variant2 = $_POST['3plus2'];
$field_order_variant3 = $_POST['one'];
$body_message .= '2 + 1 бесплатно: '.$field_order_variant1."\n"."\n";
$body_message .= '3 + 2 бесплатно: '.$field_order_variant2."\n"."\n";
$body_message .= 'Одна штука: '.$field_order_variant3."\n"."\n";

Приходит в заявке:
2 + 1 бесплатно: on
3 + 2 бесплатно:
Одна штука:

Т.е., рядом над выбранным заказчиком вариантом стоит "on". Мне надо, чтобы заказчик мог выбрать только один вариант и только этот выбранный им вариант приходил в заявке, например:
Количество: 2 + 1 бесплатно
 
Последнее редактирование:
Т.е., рядом над выбранным заказчиком вариантом стоит "on". Мне надо, чтобы заказчик мог выбрать только один вариант и только этот выбранный им вариант приходил в заявке, например:

Если тебе надо, чтобы заказчик мог выбрать только один вариант, тогда вместо checkbox используй radio
То есть

<input type="radio" name="Общее имя" value="Закажите 2 и получите 1 бесплатно!" >Закажите 2 и получите 1 бесплатно!
<input type="radio" name="Общее имя" value="Закажите 3 и получите 2 бесплатно!" >Закажите 3 и получите 2 бесплатно!
<input type="radio" name="Общее имя" value="Закажите одну" >Закажите одну.

Хотя в значении value может быть любое значение, которое будет передано скрипту.

В твоем варианте, скрипту передается значение только выбранного checkbox, а так как другие остались пустыми, значит данных переменных не существует.
Так что далее тебе надо было проверять на существование данной переменной и если она есть(выбрана), тогда дописывать в $body_message.

Надеюсь что понятно объяснил =)
 
Спасибо за ответ, но при смене типа input checkbox на radio все равно можно выбрать несколько вариантов. Можно конкретней, что нужно дописывать в $body_message ?
 
Спасибо за ответ, но при смене типа input checkbox на radio все равно можно выбрать несколько вариантов. Можно конкретней, что нужно дописывать в $body_message ?
Смотри...
к примеру вставляешь на страницу следующий код:
<input type="radio" name="order" value="Закажите 2 и получите 1 бесплатно!" >Закажите 2 и получите 1 бесплатно!
<input type="radio" name="order" value="Закажите 3 и получите 2 бесплатно!" >Закажите 3 и получите 2 бесплатно!
<input type="radio" name="order" value="Закажите одну" >Закажите одну.

У тебя на странице появляется три радио с одинаковым name, теперь пользователь может выбрать только одно значение из трех.
После того, как сработает форма, скрипт получает переменную $_POST['order'] (то есть наше имя в name).
Данная переменная будет содержать одно из трех значений, вернее даже то значение которое выбрал пользователь.

Дальше ты можешь это вставить в
$field_order_variant = $_POST['order'];
...
$body_message .= $field_order_variant1; (В переменную $body_message попадет значение из value выбранного элемента, так что ты в value можешь вписать что тебе нужно, хоть и "2 + 1 бесплатно").
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху