Я хочу знать, как обрабатывать несколько входов из формы с несколькими атрибутами.
Этот код генерирует мои поля:
<form method="POST" action="test5.php" id="1">
<?
if($_SESSION["peoplecount"] != 0){
for ($i = 0; $i <= $_SESSION["peoplecount"]; $i++) {
echo ' Name<input type="text" name="'.$i.'"> Adult<input type="radio" name="'.$i.'" value="adult" /> Minor<input type="radio" name="'.$i.'" value="minor" /> <br/>';
} }
?>
<input class="button" type="submit" value="I/We Agree" style="width:200px;"/>
</form>
после отправки - или test5.php, как указано в части «action»,
foreach ($_POST as $key => $value) {
print "{$key}: {$value}<br />";
}
и вывод
0: adult
1: adult
2: adult
3: adult
Обратите внимание, что у него 0, 1, 2 ... а затем взрослая. Он даже не упоминает имя человека из текстового ввода.
Я могу изменить форму:
</blockquote>
<form method="POST" action="test5.php" id="1">
<?
if($_SESSION["peoplecount"] != 0){
for ($i = 0; $i <= $_SESSION["peoplecount"]; $i++) {
echo ' Name<input type="text" name="usersname" id="usersname"> Adult<input type="radio" name="age" value="adult" id="age"/> Minor<input type="radio" name="age" value="minor" id="age"/> <br/>';
} }
?>
<input class="button" type="submit" value="I/We Agree" style="width:200px;"/>
</form>
Используя тот же test5.php, я получаю
usersname:
age: adult
Значение age не публикуется, и цикл foreach в test5.php заканчивается, поэтому строка возвращается, прежде чем она полностью пройдет через одну полную публикацию.
Надеюсь, я достаточно хорошо объяснил.
Я хочу, чтобы мой вывод был:
SomeName Adult
SomeOtherName Minor
....