Php 在同一文件中调用函数的POST和GET方法
我创建了一个Php 在同一文件中调用函数的POST和GET方法,php,mysql,forms,Php,Mysql,Forms,我创建了一个insert.php文件,其中有几个insert函数。我的表单在不同的页面上,有些使用POST,有些使用GET方法,但它们都指向insert.php文件 这都是在PHP5.2中编写的,我在指定要根据提交的表单执行的插入函数时没有遇到太多问题。然而,在我尝试升级到过程PHP7时,我发现我提交的表单不一定指向insert.php文件中正确的insert函数 以下是我如何做到这一点的示例: page1.php <form action='insert.php' method='pos
insert.php
文件,其中有几个insert函数。我的表单在不同的页面上,有些使用POST
,有些使用GET
方法,但它们都指向insert.php
文件
这都是在PHP5.2中编写的,我在指定要根据提交的表单执行的插入函数时没有遇到太多问题。然而,在我尝试升级到过程PHP7时,我发现我提交的表单不一定指向insert.php
文件中正确的insert函数
以下是我如何做到这一点的示例:
page1.php
<form action='insert.php' method='post'>
<input type='hidden' name='form' value='data1'>
...
</form>
if($_POST['form']=='data1') {
//perform insert into db
}
我使用不同的$\u POST['form']
变量使用不同的插入函数。其中一些函数是从使用GET
方法的表单调用的,因此我有if($\u GET['form']=='data9'){…}
问题:
为什么我的一些表单没有指向正确的插入函数
最好将GET
和POST
插入函数放在不同的文件中,还是将它们放在一个文件中
我正在考虑可能使用下面的代码来解决问题2李>
对这个解决方案有什么想法吗
$form = ($_SERVER['REQUEST_METHOD'] == 'GET') ? $_GET['form'] : $_POST['form'];
请尝试以下代码:
$form=$_请求['form']
$\请求将获取POST和GET请求变量
希望这有帮助。您能发布代码吗?请参见上文。我修正了格式,所以你现在可以看到代码。所以,我这样做是为了解决/回答我的第二个问题,但第一个问题仍然有效。如果($\u SERVER['REQUEST\u METHOD']='POST'){$form=$\u POST['form']}或者{$form=$\u GET['form']}我通常为我的所有表单编写一个单独的处理文件,除非它们都执行类似的操作。只需使用$\u REQUEST['input'],因为$\u REQUEST同时包含$\u GET和$\u POST数组,所以不需要同时检查POST和GET