Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 两个单独的表单一个提交按钮_Php_Html_Forms - Fatal编程技术网

Php 两个单独的表单一个提交按钮

Php 两个单独的表单一个提交按钮,php,html,forms,Php,Html,Forms,我有两个表单,我想通过一个提交按钮同时提交。对于这个特殊的应用程序,我不能将它们组合成一种形式。我以前看过这方面的帖子,但还没有找到一个直截了当的答案。如何适当地修改html代码或php代码以使其正常工作?谢谢 基本上,我想结合以下内容: <form method="POST" action="mailer.php" id='form1'> <input type="checkbox" name="check[]" value="blue_color">Blue&

我有两个表单,我想通过一个提交按钮同时提交。对于这个特殊的应用程序,我不能将它们组合成一种形式。我以前看过这方面的帖子,但还没有找到一个直截了当的答案。如何适当地修改html代码或php代码以使其正常工作?谢谢

基本上,我想结合以下内容:

<form method="POST" action="mailer.php" id='form1'>
    <input type="checkbox" name="check[]" value="blue_color">Blue<br>
    <input type="submit" value="Submit" name="submit">
</form>

<form method="POST" action="mailer.php" id='form2'>
    <input type="checkbox" name="check[]" value="red_color">Red<br>
    <input type="submit" value="Submit" name="submit">
</form>

蓝色
红色
下面是mailer.php:

<?php
if(isset($_POST['submit'])) {

    $to = "someone@someone.com"; 
    $subject = "Form Example";
    $name_field = $_POST['name'];
    $email_field = $_POST['email'];
    $message = $_POST['message'];
    $option = $_POST['radio'];
    $dropdown = $_POST['drop_down'];

    foreach($_POST['check'] as $value) {
        $check_msg .= "Checked: $value\n";
    }

    $body = "From: $name_field\n E-Mail: $email_field\n $check_msg Option: $option\n Drop-Down: $dropdown\n Message:\n $message\n";

    echo "Data has been submitted to $to!";
    mail($to, $subject, $body);

} else {
    echo "blarg!";
}
?>

我想您需要使用ajax(jQuery是最简单的)来完成这项工作,这样页面就不会卸载

下面是一个让您开始学习的示例:


那么是什么阻止你把
放在手风琴外面呢?通常,不管用户怎么想,手风琴的所有部分都是同一HTML页面的一部分。一切都是烟雾、镜子和动态可见度


跨越多个列表项的表单没有问题。所以会有很多控件,这很好。如果要将控件单独提交和/或提交到不同的目标,则只需将控件拆分为不同的表单,但不需要。表单不是一个可视元素,它只是将输入控件组合在一起的一种方式

使用JavaScript提交它们。
对于这个特定的应用程序,我不能将它们合并成一个表单
-为什么不呢?你想把帖子中的所有数据都要回来,所以把所有数据都放在一个表单中似乎是个不错的应用程序设计。请告诉大家为什么你不能把表单合并成一个表单。我觉得这很可疑。看这篇帖子:为了子孙后代,我会做出回答。