Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在同一文件中调用函数的POST和GET方法_Php_Mysql_Forms - Fatal编程技术网

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