HTML формы не должен» т содержит более одного элемента <input>
с тем же name
.
Если вы используете следующую разметку:
<input type="text" name="a">
<input type="text" name="a">
, то значение будет получить переопределены, и вы будете просто получить значение последнего <input>
элемента в вашем $_POST
массиве.
Если вы хотите, чтобы захватить входы из нескольких <input>
элементов, используйте следующую разметку вместо:
<input type="text" name="a[]">
<input type="text" name="a[]">
<input type="text" name="a[]">
В этом случае каждый из <input>
элементов будет рассматриваться отдельно, и вы будете в состоянии восстановить значения в массиве $_POST
.
Для подсчета количества вхождений в <input>
элемента, вы можете использовать следующее:
echo count($_POST['a']);
Рассмотрим следующий код:
<?php
if (isset($_POST['submit'])) {
print_r($_POST);
echo count($_POST['a']);
}
?>
<form action="" method="post">
<input type="text" name="a[]">
<input type="text" name="a[]">
<input type="text" name="a[]">
<input type="submit" name="submit">
</form>
Это будет правильно отображать количество <input>
элементов с атрибутом name
, равным a
.
Вы говорите, что в вашей форме у вас есть более одного типа '? Отправьте форму пожалуйста. – j08691
... также не забудьте использовать скобки: '' при работе с несколькими входами с тем же именем. – insertusernamehere
да ... у меня есть 4 из этих ... –