【发布时间】:2016-04-22 08:45:57
【问题描述】:
我有一个包含客户列表的表格,然后是“修改”按钮,然后是“删除”按钮,然后是“添加到邮件列表”复选框,这些元素中的每一个都是自己的表单。最后还有一个选择器来选择要将地址添加到哪个邮件列表。 我的问题是这些复选框。 我在表格末尾有一个提交按钮,用于将所有检查的电子邮件添加到文件中,但它仅适用于最后一个电子邮件地址。 这是复选框的代码:
echo "<td>";
echo "<form action=\"\" method=\"post\">";
if($email!="" && $email!=null){
echo "<label class=\"checkbox-inline\">
<input type=\"checkbox\" name=\"mailing[]\" value=\"".$email[0][0]."\" title=\"".$email[0][0]."\"><span><i class=\"glyphicon glyphicon-envelope\"></i></span></label>";
}else{
echo "<label class=\"checkbox-inline\">
<input type=\"checkbox\" disabled><span><i class=\"glyphicon glyphicon-envelope\"></i></span></label>";
}
echo "</form>";
echo "</td>";
//... more code
//selector + submit
<form action="" method="post">
<div class="col-sm-6 pull-right">
<label class="control-label">Ajouter ces adresses à la liste:</label>
<select class="form-control" name="liste">
<option value=""></option>
<?php
$linkpdo = openConnection();
$req = $linkpdo->prepare('SELECT * FROM AERA.mailing');
$req->execute();
$lists = $req->fetchAll();
if(count($lists)<>0){
for ($i = 0; $i < count($lists) ; $i++){
echo "<option value=\"".$lists[$i][0]."\">";
echo $lists[$i][1];
echo "</option>";
}
}
?>
</select>
</br>
<button type="submit" class="btn btn-info" id="clickAll">Ajouter</button>
如何获取所有复选框值?或者还有其他方法可以解决吗?谢谢
更新
这是我目前处理结果的方式:
if(!empty($_POST['mailing'])) {
foreach ($_POST['mailing'] as $key => $value){
$mailing=$_POST['mailing'][$key];
if(stripos(file_get_contents($filename), $mailing)!== false){
echo '<div class="container">
<div class="col-sm-6 col-sm-offset-3 alert alert-info">
<p class="text-center">Vous avez essayé d\'insérer des doublons.</br>Ces valeurs n\'ont pas été prises en compte</p>
</div>
</div>';
}else{
$stringIn.=$mailing.", ";
}
}
}
【问题讨论】:
-
不太明白,但我认为您必须只有一个包含所有复选框和提交按钮的表单。
-
你知道在我的表格的每一行没有提交按钮的情况下我怎么能做到这一点吗?
-
将整个表格以独特的形式呈现。
-
那个表格里面有没有其他表格没关系?
-
这很重要,您一次只能提交一个表单,并且不能在另一个表单中包含一个表单。您必须将要提交的所有内容放在一个包含提交按钮和所有复选框的独特表单中。