【问题标题】:How to create a PHP script that can handle multiple forms如何创建可以处理多个表单的 PHP 脚本
【发布时间】:2011-09-17 02:34:58
【问题描述】:

每次我为客户创建网站时,我都会编写 HTML 表单,然后编写 php 脚本来处理该数据。有时表格很长,有时有多个表格 - 可能会变得凌乱。

在我开始尝试编写我的动态 php 表单处理程序之前,我真的想要一些最佳实践建议和技巧。

我想将所有发布的变量收集到一个数组中来处理它们。但是我怎么知道应该需要哪些值或它们的含义呢?

也许已经有一些东西可以解决这个问题!

非常感谢, 亨利


再多一点信息,我想到的是一个 php 脚本,它足够灵活,可以使用为它构建的任何表单以及任何数量的输入。我想我认为它是一个位于服务器上的文件,多个表单将向它发送 Ajax 请求,然后它可以满足

【问题讨论】:

  • 如果您有很多表单生成工作,您可以使用表单管理器,就像许多框架和 CMS 的插件一样。有些也能够处理请求,即使是多种形式。但我不知道任何独立版本。

标签: php jquery html ajax forms


【解决方案1】:

我认为您不应该使用数组,因为 $_POST 无论如何已经是一个数组。 但是代码中的某种命名约定呢? 例如:

<input type="text" name="txt_username" /> //prefix txt or whatever seems fitting.

然后使用正则表达式查找您期望的数据类型并采取相应措施。例如,您可以编写一个处理不同类型输入的类,并根据名称属性中的前缀将数据传递给正确的函数。

【讨论】:

  • 创新的正则表达式。
【解决方案2】:

根据您的表单名称更改提交按钮的名称。然后在 php 中使用条件语句来确定发布哪个表单并让您的 php 按照您对不同表单的需要工作。

类似的东西

<input type="submit" name="signupform"/>

在php中

if(isset($_POST['signupform']))
{
//Do this
}
elseif(isset($_POST['loginform']))
{
//do this
}

已知问题: 您需要保持这些提交名称的唯一性,并且不应有任何其他形式的元素以任何形式发布到该 php 文件。

您还可以添加隐藏字段

<input type="hidden" name='action' value='signup'/>

然后使用带有 $_POST['action'] 键的 switch case。

【讨论】:

    【解决方案3】:

    我发现通过将它们分配给一个数组来分隔表单部分是有帮助的,例如

    <input type="text" name="Users[username]" id="Users_username" />
    

    这样,我可以通过访问 php 中的数组键轻松挑选出部分,例如

    $_POST['Users']; // returns username from above example
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-06
      • 2020-12-14
      • 1970-01-01
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多