我正在尝试使用相同名称的多个文本框 这是我的代码。
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
我怎样才能做到这一点?那可能吗?
答案 0 :(得分: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>
将在PHP端返回一个数组:
$email = $_POST['email'];
你可以implode()
获得你想要的结果:
echo implode(", ", $email); // Will output email1@email.com, email2@email.com ...
在对它们做任何事情之前,不要忘记对这些值进行消毒,例如:序列化数组或将它们插入数据库!仅仅因为它们在阵列中并不意味着它们是安全的。
答案 1 :(得分:9)
<input name="email[]" type="text">
<input name="email[]" type="text">
<input name="email[]" type="text">
<input name="email[]" type="text">
$ _ POST ['email']将是一个数组。
答案 2 :(得分:1)
另一个例子可能是:
<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