<form action="next.php" method="post">
<table>
<tr>
<td>Paul</td>
<td>Attuck</td>
<td>paulattuck@yahoo.com</td>
<td><input type="checkbox" name="list[]" value="paulattuck@yahoo.com" /></td>
</tr>
<tr>
<td>James</td>
<td>Bond</td>
<td>jamesbond@yahoo.com</td>
<td><input type="checkbox" name="list[]" value="jamesbond@yahoo.com" /></td>
</tr>
<tr>
<td>Name</td>
<td>Last</td>
<td>lastname@yahoo.com</td>
<td><input type="checkbox" name="list[]" value="lastname@yahoo.com" /></td>
</tr>
</table>
<input type="submit" name="submit" value="submit" />
</form>
如果我选中了所有复选框并将表单发送到 next.php ,我可以:
print_r($_POST['tags']);
// output
Array
(
[0] => paulattuck@yahoo.com
[1] => jamesbond@yahoo.com
[2] => lastname@yahoo.com
)
我该如何制作:
Array
(
[0] => array ([0] => Paul
[1] => Attuck
[2] => paulattuck@yahoo.com)
[1] => array ([0] => James
[1] => Bond
[2] => jamesbond@yahoo.com)
[2] => array ([0] => Last
[1] => Name
[2] => lastname@yahoo.com)
)
?我尝试使用序列化,但这使得“ - 不能以html形式使用它。
答案 0 :(得分:5)
如果您确定名称字段中有一个字符被禁止(我在这里使用|
),您可以
<tr>
<td>Paul</td>
<td>Attuck</td>
<td>paulattuck@yahoo.com</td>
<td><input type="checkbox" name="list[]" value="Paul|Attuck|paulattuck@yahoo.com" /></td>
</tr>
并且会得到
print_r($_POST['tags']);
// output
Array
(
[0] => Paul|Attuck|paulattuck@yahoo.com
[1] => James|Bond|jamesbond@yahoo.com
[2] => Last|Name|lastname@yahoo.com
)
您可以通过
进行转换$names=array();
foreach ($_POST['tags']) as $tag)
$names[]=explode('|',$tag,3);
答案 1 :(得分:3)
您必须提供以下值:
value="Paul,Attuck,paulattuck@yahoo.com"
然后用,
爆炸,你会得到你想要的阵列。
答案 2 :(得分:1)
通常的方法是提交一个值,该值可以在后续数据库查询中使用,这些查询将返回其余数据。我建议你先考虑这个方法。
如果你真的想要提交所有字段,最简单的方法是将它们与字段中未使用的字符分开,然后在服务器上拆分,就像其他人评论过一样。