PHP $ _POST获取数据数组

Jor*_*rge 13 php

我正在尝试使用相同的名称进行多个文本框.
这是我的代码.

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;

我希望得到这样的结果:

email1 @ email.com,email2 @ email.com,email3 @email.com

我该怎么做?那可能吗?

Pek*_*ica 44

使用[]的元素名称

Email 1:<input name="email[]" type="text"><br>
Email 2:<input name="email[]" type="text"><br>
Email 3:<input name="email[]" type="text"><br>
Run Code Online (Sandbox Code Playgroud)

将在PHP端返回一个数组:

$email = $_POST['email'];   
Run Code Online (Sandbox Code Playgroud)

你可以implode()得到你想要的结果:

echo implode(", ", $email); // Will output email1@email.com, email2@email.com ...
Run Code Online (Sandbox Code Playgroud)

在对它们进行任何操作之前,不要忘记清理这些值,例如序列化数组或将它们插入数据库!仅仅因为它们在阵列中并不意味着它们是安全的.


Pis*_*3.0 9

<input name="email[]" type="text">
<input name="email[]" type="text">
<input name="email[]" type="text">
<input name="email[]" type="text">
Run Code Online (Sandbox Code Playgroud)

$ _POST ['email']将是一个数组.


Alp*_*nel 5

另一个例子可能是:

<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>";
Run Code Online (Sandbox Code Playgroud)

将显示

key 0 is 1
key 1 is 2
key 2 is 3
Run Code Online (Sandbox Code Playgroud)