POST和GET方法调用同一文件中的函数

时间:2017-08-11 20:34:45

标签: php mysql forms

我创建了一个insert.php文件,其中有几个插入函数。我的表单位于不同的页面上,有些使用POST,其他人使用GET方法,但它们都指向insert.php文件。

这都是用PHP5.2编写的,我根据提交的表单指定执行哪个插入函数没有太多麻烦。但是,在我尝试升级到程序PHP7时,我发现我提交的表单不一定指向insert.php文件中的正确插入函数。

以下是我如何执行此操作的示例:

page1.php中

<form action='insert.php' method='post'>
    <input type='hidden' name='form' value='data1'>
    ...
</form>

insert.php

if($_POST['form']=='data1') {
    //perform insert into db
}

我有不同的插入函数和不同的$_POST['form']变量。其中一些函数是从使用GET方法的表单调用的,所以我有if($_GET['form']=='data9') {...}.

问题:

  1. 为什么我的某些表单没有指向正确的插入函数?
  2. GETPOST插入函数放在不同的文件中是否更好,还是可以将它们保存在一个文件中?
  3. 我正在考虑使用以下代码来解决问题2.
  4. 对此解决方案的任何想法?

    $form = ($_SERVER['REQUEST_METHOD'] == 'GET') ? $_GET['form'] : $_POST['form'];
    

0 个答案:

没有答案