Подтвердить что ты не робот

PHP $_POST получить массив данных

Я пытаюсь сделать несколько текстовых полей с одинаковыми именами.
Вот мой код.

HTML

Email 1:<input name="email" type="text"><br>
Email 2:<input name="email" type="text"><br>
Email 3:<input name="email" type="text"><br>


PHP

$email = $_POST['email'];
echo $email;

Я хотел получить такие результаты:

[email protected], [email protected], [email protected]

Как я могу это сделать? возможно?

4b9b3361

Ответ 1

Использование [] в имени элемента

Email 1:<input name="email[]" type="text"><br>
Email 2:<input name="email[]" type="text"><br>
Email 3:<input name="email[]" type="text"><br>

вернет массив на конец PHP:

$email = $_POST['email'];   

вы можете implode(), чтобы получить желаемый результат:

echo implode(", ", $email); // Will output [email protected], [email protected] ...

Не забывайте санировать эти значения, прежде чем делать что-либо с ними, например. сериализуя массив или вставляя их в базу данных! Просто потому, что они находятся в массиве, это не значит, что они безопасны.

Ответ 2

<input name="email[]" type="text">
<input name="email[]" type="text">
<input name="email[]" type="text">
<input name="email[]" type="text">

$_ POST ['email'] будет массивом.

Ответ 3

Другой пример может быть:

<input type="text" name="email[]" value="1">
<input type="text" name="email[]" value="2">
<input type="text" name="email[]" value="3">

<?php
     foreach($_REQUEST['email'] as $key => $value)
          echo "key $key is $value <br>";

будет отображать

key 0 is 1
key 1 is 2
key 2 is 3