как получить пост из одноименных текстовых полей в php - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть форма с несколькими текстовыми полями, которые создаются динамически, теперь все эти текстовые поля имеют одно и то же имя, скажем, txt, теперь есть ли способ, когда при обработке формы мы можем прочитать все значения текстовых полей, используя $_POST метод, который называется так же. По возможности как?

Ответы [ 3 ]

4 голосов
/ 03 апреля 2012

Вы должны назвать свои текстовые поля txt[], чтобы PHP создал для вас числовой индексированный массив:

<?php
// $_POST['txt'][0] will be your first textbox
// $_POST['txt'][1] will be your second textbox
// etc.    

var_dump( $_POST['txt'] );
// or
foreach ( $_POST['txt'] as $key => $value )
{
  echo 'Textbox #'.htmlentities($key).' has this value: ';
  echo htmlentities($value);
}

?>

В противном случае значение последнего текстового поля перезапишет все остальные значения!

Вы также можете создавать ассоциативные массивы:

<input type="text" name="txt[numberOne]" />
<input type="text" name="txt[numberTwo]" />
<!-- etc -->

Но тогда вы должны сами позаботиться об именах, а не позволять PHP делать это.

1 голос
/ 03 апреля 2012

Создайте текстовое поле с именами txt []

<input type='text' name='txt[]'>

А в PHP читайте их как

$alTxt= $_POST['txt'];
$N = count($alTxt);
    for($i=0; $i < $N; $i++)
    {
      echo($alTxt[$i]);
    }
0 голосов
/ 03 апреля 2012

Если вы хотите имя, вы можете назвать вход с помощью txt[name1], тогда вы можете получить его значение из $_POST['txt']['name1'].$_POST['txt'] будет ассоциативным массивом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...