【问题标题】:PHP multiple forms with single actionPHP 多个表单,单个操作
【发布时间】:2013-06-20 12:40:32
【问题描述】:

我有多个带有单个操作的表单,一个被所有表单调用的单个 php 页面。

如何区分发送到 php 页面的表单?

【问题讨论】:

  • 添加一个隐藏的<input> 字段,其中包含一些值来识别来源?

标签: php forms


【解决方案1】:

为每个表单使用不同的唯一input type="hidden"

HTML:

<input type="hidden" name="form_id" value="1">
<input type="hidden" name="form_id" value="2">

PHP:

$myform = $_POST["form_id"];

您也可以使用提交按钮,但请注意“值”参数是显示给用户的内容,因此您将无法修改它(假设您希望在每个按钮上显示相同的文本)。

<input type="submit" name="action" value="the user saw this">

PHP:

$_POST["action"] // -> "the user saw this";

【讨论】:

  • 如何更改提交按钮的名称?喜欢:
  • 您也可以这样做,但您只能更改名称而不是值。如果您想将其作为数组进行管理,这将变得更加困难。在这种情况下使用隐藏字段更好。
【解决方案2】:

为每个字段添加一个隐藏字段(action 等),然后检查它。

<form id="num1">
    <input type="hidden" name="action" value="first_action" />
</form>

...和支票:

<?php

    if(!empty($_REQUEST['action']) {
        switch($_REQUEST['action']) {
            case 'first_action':
                // first action code

                break;
        }
    }

?>

【讨论】:

    【解决方案3】:

    给每个提交按钮一个不同的名字,或者在每个表单中添加一个不同的值。

    【讨论】:

      【解决方案4】:

      如果提交具有不同的值,您也可以从提交按钮本身检测到这一点:

      更新名称、更新个人资料、删除用户...

      【讨论】:

        【解决方案5】:

        在每个表单的提交按钮上,使用不同的名称。比如:

        <input type="submit" name="submit_1" value="Submit" />
        <input type="submit" name="submit_2" value="Submit" />
        <input type="submit" name="submit_3" value="Submit" />
        ...
        

        然后在您的 PHP 上,您将拥有:

        $_POST["submit_1"]
        $_POST["submit_2"]
        $_POST["submit_3"]
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-07-10
          • 1970-01-01
          • 2014-08-26
          • 2012-03-26
          • 1970-01-01
          • 2011-04-25
          • 2019-05-12
          • 1970-01-01
          相关资源
          最近更新 更多