Контрольный список форм PHP показывает метку «For:» вместо «Value:» - PullRequest
0 голосов
/ 10 апреля 2019

Я наконец-то получил контрольный список, работающий на PHP, но он перечисляет «значение:» моего ввода, а не «для:», причина, по которой я не могу использовать «значение:», потому что значение - это число, которое суммируется, и я хочу знать, какая опция отмечена, а не просто видеть число,

<input class="basic-config" type="checkbox" name="ch[]" id="basic-option1" value="100"><label for="basic-option1">option 1<span class="right-align">$100</span></label>

<input class="basic-config" type="checkbox" name="ch[]" id="basic-option2" value="200"><label for="basic-option2">option 2<span class="right-align">$200</span></label>

PHP ниже:

if (isset($_POST['submit'])) {

$name = $_POST ['name'];
$mailFrom = $_POST ['mail'];
$website = $_POST ['website'];
$comments = $_POST ['comments'];
$basicAmount = $_POST ['basic-amount'];
$extras = "None";
if(isset($_POST["ch"]))
$extras = implode(", ", $_POST["ch"]);

$mailTo = "josh@myemail.com";
$headers = "From: ".$mailFrom; 
$txt = "\n
Basic Order Request. \n\n
From: $name \n\n
Email: $mailFrom \n\n
Website: $website \n\n
Comments: $comments \n\n
Extras: $extras \n\n
Total: $basicAmount";
}

Как я могу получить список «для» или даже «id» для флажка вместо «значения»?

Например, вот что я хочу:

Дополнительно: вариант 1, вариант 2 Итого: $ 300

Это то, что у меня есть сейчас, а не то, что я хочу:

Дополнительно: 100, 200 Итого: $ 300

Буду признателен за любую помощь!

Ответы [ 2 ]

1 голос
/ 10 апреля 2019

Только успешные элементы управления (входы) представлены и только значение.Вы можете использовать эту опцию в качестве ключа массива:

<input type="checkbox" name="ch[Option 1]" value="100">
<input type="checkbox" name="ch[Option 2]" value="200">

Затем получите эти ключи:

$extras = implode(", ", array_keys($_POST['ch']));

Или создайте скрытый входной массив и соедините их (используйте тот же ключ):

<input type="hidden" name="ex[0]" value="Option 1">
<input type="checkbox" name="ch[0]" value="100">
<input type="hidden" name="ex[1]" value="Option 2">
<input type="checkbox" name="ch[1]" value="200">

Затем получите доступ к опциям, которые имеют соответствующую проверку:

$extras = implode(", ", array_intersect_key($_POST['ex'], $_POST['ch']));
0 голосов
/ 10 апреля 2019

просто сделайте ваше значение идентичным вашему id , например:

<input class="basic-config" type="checkbox" name="ch[]" id="basic-option1" value="Option 1"><label for="basic-option1">option 1<span class="right-align">$100</span></label>
<input class="basic-config" type="checkbox" name="ch[]" id="basic-option2" value="Option 2"><label for="basic-option1">option 2<span class="right-align">$200</span></label>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...