如何创建可以处理多个表单的PHP脚本

时间:2011-09-09 22:36:15

标签: php jquery html ajax forms

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

在我开始尝试编写动态php表单处理程序之前,我真的很喜欢一些最佳实践建议和提示。

我想把所有发布的变量收集到一个数组中来处理它们。但是,我如何知道应该要求哪些值或它们的含义?

也许存在解决这个问题的东西!

非常感谢, 亨利


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

3 个答案:

答案 0 :(得分:1)

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

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

然后使用正则表达式查找您期望的数据类型并相应地执行操作。例如,您可以编写一个处理不同类型输入的类,并根据name-property中的前缀将数据传递给正确的函数。

答案 1 :(得分:0)

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

类似这样的事情

<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']键的开关盒。

答案 2 :(得分:0)

我发现通过将它们分配给数组来分离部分是有帮助的,例如

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

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

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