【问题标题】:php: get post results from multiple forms through one submitphp:通过一次提交从多个表单中获取发布结果
【发布时间】: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.", ";
                    }
                }
            }

【问题讨论】:

  • 不太明白,但我认为您必须只有一个包含所有复选框和提交按钮的表单。
  • 你知道在我的表格的每一行没有提交按钮的情况下我怎么能做到这一点吗?
  • 将整个表格以独特的形式呈现。
  • 那个表格里面有没有其他表格没关系?
  • 这很重要,您一次只能提交一个表单,并且不能在另一个表单中包含一个表单。您必须将要提交的所有内容放在一个包含提交按钮和所有复选框的独特表单中。

标签: php forms checkbox


【解决方案1】:

你为什么不做一个 html 表单而不是一个 php 脚本?

您可以在此处查看示例:Getting checkbox values on submit

【讨论】:

  • 它是一个html表单;由于其他原因,我只需要混合一些 php。你的意思是结果处理吗?
  • 是的,我看到了 html 代码。我通常使用将 html 与 php 分开......如果可能的话:-)。是的,我的意思是结果处理。你也可以在这里找到一个例子stackoverflow.com/questions/4997252/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-23
  • 2011-03-18
  • 2016-09-11
  • 2017-09-28
  • 1970-01-01
  • 1970-01-01
  • 2012-07-20
相关资源
最近更新 更多