Хорошо, у меня есть index.html с формой следующим образом:обработка PHP несколько флажков
<form action="process.php" method="post">
<table>
<tr>
<td><input name="Field[]" type="checkbox" value="Accounting" />Accounting</td>
<td><input name="Field[]" type="checkbox" value="Finance" />Finance</td>
<td><input name="Field[]" type="checkbox" value="Marketing" />Marketing</td>
</tr>
</table>
</form>
И я process.php следующим образом:
<table>
<tr>
<th>Field(s):</th>
<td>
<?php
if(isset($_POST['Field']))
{
for($i = 0; $i < count($_POST['Field']); $i++)
{ echo $_POST['Field'][$i] . ' '; }
}
?>
</td>
</tr>
</table>
Но по какой-то причине, я только получите первую букву последнего флажка, который был распечатан. Помоги пожалуйста!
Этот сценарий работает на моем сервере, для некоторых быстрой сортировки, попробуйте 'var_dump ($ _ POST);' и убедитесь, что индексы '$ _POST [«поля»] ', что вы думаете, что они , Также, какую серверную платформу/версию вы используете? – Foran
Я запускаю XAMPP на Windows 7 Professional, поэтому Apache/Windows 7 Pro. Кроме того, будет ли я эхо var_dump ($ _ POST)? Я все еще изучаю PHP, поэтому не знаю. –
Учитывая, что ответ Мухаммеда ниже работает, я бы сказал, что ваша серверная среда генерировала разные индексы. 'var_dump ($ _ POST)' является хорошим инструментом отладки/выводом, когда все работает не так, как ожидалось, и ему не нужно 'echo' – Foran