如何使用带有函数的一个页面处理多个表单?

时间:2015-05-31 03:28:31

标签: php forms function

因此,您可以在文件中包含例如functions.php,然后您可以在该页面中使用不同的函数来验证用户输入。

但是如何使用同一个文件处理多个表单?

示例:

include formprocessor.php

formprocessor将包含与每个表单相关的所有函数:

Form A action=formAfunction()
Form B action=formBfunction()
Form C action=formCfunction()

formprocessor.php可以包含专门用于处理每个表单的函数吗? 每个表单都有自己的功能来处理他们的数据。

如果可行,这比为站点上的每个表单提供处理器文件更方便。 10表格10处理文件?

或10表格1处理文件。

3 个答案:

答案 0 :(得分:0)

您可以看到输入类型=隐藏,其中包含每个表单的名称,然后在表单处理器中,读取已提交的名称并相应地转到代码的特定部分。

答案 1 :(得分:0)

您可以为html

中的每个表单的提交按钮添加名称
<form method='post' ... >
   ....
   <input type='submit' name='formA' ...>
</form>

<form method='post' ... >
   ....
   <input type='submit' name='formB' ...>
</form>

然后在你的php代码中使用这样的东西来处理它:

if(isset($_POST['formA'])){
   formAfunction(); //handle formA
}elseif(isset($_POST['formB'])){
   formBfunction(); //handle formB
} //.... etc

答案 2 :(得分:0)

在表单中有一个隐藏的进程。 IE

<form id = "login" action = "calls.php" method = "POST">
<input id="process" name="process" type="hidden" value="loginpr">
<input type="submit">
</form>
<form id = "logout" action = "calls.php" method= "POST">
<input id="process" name="process" type="hidden" value="logoutpr">
<input type="submit>
</form>

然后你有你的calls.php文件,它根据被调用的过程进行切换。

if(isset($_POST['process'])){
       switch($_POST['process']) {
               case 'loginpr':
               loginfunction();
               break;
               case 'logoutpr':
               logoutfunction();
               break;
       }
    }
else { echo "The process is not linked within this form"; }

calls.php将是你的formproccessor.php文件