PHP检测请求类型(GET,POST,PUT或DELETE)而不使用$ _SERVER [' REQUEST_METHOD']

时间:2014-12-12 08:01:11

标签: php

如何在不使用操作页面中的(GET, POST, PUT or DELETE)的情况下找到服务器请求类型$_SERVER['REQUEST_METHOD']

我正在从abc.php提交页面 表单操作页面是操作页面。

我需要打印使用哪种方法

2 个答案:

答案 0 :(得分:2)

常规if语句

if(!empty($_GET)) { 
    $request = (!empty($_POST)) ? 'both get and post' : 'get';
} else if(!empty($_POST)) {
    $request = 'post';        
}
//... You get the picture

编辑:我在get check中添加了一个三元组来解决Gumbo在评论中提到的问题。您可以同时使用GET和POST变量,因为您可以使用get params将数据发布到URL,即/ forms / addFileToCompany /?companyId = 23

现在因为我是一个完整的污秽,是你见过的最可怕的三元!请注意,这只是为了一点乐趣,我真的不建议使用它。

$request = (!empty($_GET)) 
    ? (!empty($_POST)) 
        ? 'both post and get' 
        : 'get'
    : (!empty($_POST))
        ? 'post'
        : (/* Keep it going for whatever */ );

答案 1 :(得分:1)

我相信这是一种棘手的方式而且不是那么聪明。是手动检查,例如:

if( isset($_GET) ) $request_type = 'GET Method'; 
elseif( isset($_POST) ) $request_type = 'POST Method';