Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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 一页上有多个HTML表单_Php_Javascript_Html - Fatal编程技术网

Php 一页上有多个HTML表单

Php 一页上有多个HTML表单,php,javascript,html,Php,Javascript,Html,如果我有多个带有单独提交表单的HTML标签,我如何知道哪个标签是在处理表单数据的PHP文件中发布的?,方法是在每个标签中包含一些唯一的数据。可能使用隐藏输入。您可以在每个表单中设置这样的输入: <input type="hidden" name="form_id" value="identifier_of_form" /> 例如: <form method="post" action=""> <input type="hidden" name="for

如果我有多个带有单独提交表单的HTML标签,我如何知道哪个标签是在处理表单数据的PHP文件中发布的?

,方法是在每个标签中包含一些唯一的数据。可能使用隐藏输入。

您可以在每个表单中设置这样的输入:

<input type="hidden" name="form_id" value="identifier_of_form" />

例如:

<form method="post" action="">
    <input type="hidden" name="form_id" value="form_0" />
    <!-- snip -->
</form>

<form method="post" action="">
    <input type="hidden" name="form_id" value="form_1" />
    <!-- snip -->
</form>

<form method="post" action="">
    <input type="hidden" name="form_id" value="form_n" />
    <!-- snip -->
</form>

最简单的方法是命名表单特有的提交按钮。如果一个表单有多个提交按钮(如提交和保存、提交和返回、提交和退出),也可以使用此按钮


$\u POST数组(或$\u GET/$\u请求)将包含键“action”,键的值为已执行的按钮(无论是否单击)

通常,我避免传递不必要的隐藏文本字段等,只是为了保持代码更干净

所以。对于您的应用程序,我将给出您的提交按钮值,如下所示:

<form id="Form1">
  <input type="submit" name="action" value="Form1">
</form>

<form id="Form2">
 <input type="submit" name="action" value="Form2">
</form>

<form id="Form3">
 <input type="submit" name="action" value="Form3">
</form>

这对我很有用

  • 每个表单都有一个唯一的“名称”

    form method=“post”action=”“name=“uniqueName”id=“uniqueName”

  • 每个表单都有这个隐藏字段

    输入type=“hidden”id=“action1\u 1”name=“action1”value=“1”

  • 具有唯一id扩展名(_1、_2、3…和唯一值(1、2、3…)和通用名称:action1

  • 然后在php索引脚本中:

    $action1=$_POST['action1']

    如果($action1==“1”){include(“form_process1.php”; //…做任何形式需要做的事。。。 } else if($action1==“whateverelse”){include(“form_process.php”; //…做任何形式的事情。。。 }


  • 为什么不将表单名称设置为“action1”、“actions2”、“action3”

    如果是,则不需要隐藏输入

    <form id="Form1">
      <input type="submit" name="action" value="Form1">
    </form>
    
    <form id="Form2">
     <input type="submit" name="action" value="Form2">
    </form>
    
    <form id="Form3">
     <input type="submit" name="action" value="Form3">
    </form>