如何从 $_POST 获取数据数组

2022-08-30 23:59:40

我有一个表单,其中包含多个具有相同名称的文本框。我想从PHP代码中的所有文本框中获取数据。

这是我的代码。

Email 1:<input name="email" type="text"/><br/>
Email 2:<input name="email" type="text"/><br/>
Email 3:<input name="email" type="text"/><br/>
$email = $_POST['email'];
echo $email;

我想得到这样一个结果:

email1@email.com、email2@email.com email3@email.com

相反,我只从最后一个文本框中获取文本。


答案 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 email1@email.com, email2@email.com ...

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


答案 2
<input name="email[]" type="text">
<input name="email[]" type="text">
<input name="email[]" type="text">
<input name="email[]" type="text">

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


推荐