Как отправить значения флажка методом PHP post

<input type="checkbox" class='form' name="checkbox_1" /> <input type="checkbox" class='form' name="checkbox_2" /> <input type="checkbox" class='form' name="checkbox_3" /> ......... <input type="checkbox" class='form' name="checkbox_10" /> 

Сообщение отправлено с использованием метода POST. определить, какие из флажков и записать их номера в порядке возрастания. Разделите все числа пробелами (не новыми строками) и не используйте HTML-форматирование.

Например:

Если отмечены флажки 3, 5 и 10.

Ouput будет:

3 5 10

Измените разметку на что-то вроде

 <input type="checkbox" class='form' value="1" name="checkbox[]" /> <input type="checkbox" class='form' value="2" name="checkbox[]" /> <input type="checkbox" class='form' value="3" name="checkbox[]" /> 

и для получения представленных значений используйте простой цикл

 foreach($_POST['checkbox'] as $checkbox){ echo $checkbox . ' '; } 

Код HTML:

  <input type="checkbox" name="arrayValue[]" value="value1" > value1 <br /> <input type="checkbox" name="arrayValue[]" value="value2" > value2 <br /> <input type="checkbox" name="arrayValue[]" value="value3" > value3 <br /> <input type="checkbox" name="arrayValue[]" value="value4" > value4 <br /> 

PHP-код ::

  $checkBoxValue = join(", ", $_POST['arrayValue']); // here first (,) is user-define // means, you can change it whatever // you want, even if it can be (space) or others 

теперь вы получаете всю ценность «checkbox» в одной переменной

Итерации над массивом $_POST и используйте preg_match() чтобы вывести номер, если он начинается с «checkbox_»:

 $checked = array(); foreach ($_POST as $k => $v) { if (preg_match('|^checkbox_(\d+)$!', $k, $matches) { $checked[] = $matches[1]; } } echo implode(' ', $matches); 
 <?php $checked = array(); foreach ($_POST as $k => $v) { $subject = $k; $pattern = '/^checkbox_(\d+)$/'; if (preg_match($pattern, $subject, $matches)) { $checked[] = $matches[1]; } } asort($checked); foreach ($checked as $key=>$value) echo $value .' '; ?> 

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

На моей странице формы (с понедельника по воскресенье)

  <input type="checkbox" name="checked[]" class="onoffswitch-checkbox" id="mononoffswitch" value="Mon" checked> 

В моем PHP-коде

 function IsChecked($chkname,$value) { if(!empty($_POST[$chkname])) { foreach($_POST[$chkname] as $chkval) { if($chkval == $value) { return true; } } } return false; } if(IsChecked('checked','Mon')) { $checkedMon = "Y"; }else { $checkedMon = "N"; } if(IsChecked('checked','Tue')) { $checkedTue = "Y"; }else { $checkedTue = "N"; } if(IsChecked('checked','Wed')) { $checkedWed = "Y"; }else { $checkedWed = "N"; } if(IsChecked('checked','Thur')) { $checkedThur = "Y"; }else { $checkedThur = "N"; } if(IsChecked('checked','Fri')) { $checkedFri = "Y"; }else { $checkedFri = "N"; } if(IsChecked('checked','Sat')) { $checkedSat = "Y"; }else { $checkedSat = "N"; } if(IsChecked('checked','Sun')) { $checkedSun = "Y"; }else { $checkedSun = "N"; } 

Теперь вы можете получить эти значения переменных и использовать их в своей инструкции Insert Into …

Как это

 $addweekdays = mysqli_query($conn, "INSERT INTO weekdays(id,monday,tuesday,wednesday,thursday,friday,saturday,sunday) VALUES('$Id', '$checkedMon', '$checkedTue', '$checkedWed', '$checkedThur','$checkedFri','$checkedSat','$checkedSun')") ... 
 $checked = array(); foreach ($_POST as $k => $v) { $subject = $k; $pattern = '/^checkbox_(\d+)$/'; if (preg_match($pattern, $subject, $matches)) { $checked[] = $matches[1]; } } asort($checked); foreach ($checked as $key=>$value) echo $value .' '; 

возьмите массив для имени вашего флажка как name="checkbox[]" и используйте одно и то же имя для всех своих флажков. После отправки вашей формы установите флажки с установленным флажком, используя следующий код:

 <?php $chk=""; foreach($_POST['checkbox'] as $checkbox) { $chk=$chk.$checkbox; } echo $chk; ?>