首页 > 解决方案 > CI Url 参数未使用 _REQUEST 方法获取

问题描述

自从过去 8 个月以来,我一直在使用这个项目,它工作得非常好。我的 api 调用如下所示

http://domainname.com/webservice/signinOrganization?vFirebaseDeviceToken=someToken&vPassword=123456&vUserEmail=provider@demo.com&type=signinOrganization //仅用于演示目的

Web服务代码看起来像这样

public function __construct(){
        parent::__construct();
        $this->load->model('Webservice_model');

        $type = isset($_REQUEST['type']) ? trim($_REQUEST['type']) : '';
        
        if(empty($type)){
            $result['Action'] = "0";
            $result['message'] = 'Required parameter missing.';
            $result['errMsg'] = 'ERR_MISSING_TYPE';
            $result['REQUEST_PARAM'] = $_REQUEST;
            $result['REQUEST_PARAM_CI'] = $this->input->get();
            
            echo json_encode($result);
            exit;
        }

输出看起来像这样 https://prnt.sc/vvhj9f

由于此代码在更改域名后突然运行良好,因此停止运行。如果我使用$_REQUEST方法,它会返回我的 url 而不是返回参数。在哪里$this->input->get();完美地工作。

但我不能使用$this->input->get();,因为我$REQUEST在代码中的任何地方都使用了方法,因为它之前工作过。

请你让我找出为什么会这样。

标签: phpcodeigniterurlrequestcodeigniter-3

解决方案


就我而言,我只是这样更新它:

$something = isset($_POST['something']) ? $_POST['something'] : NULL;

参考

如果您仍然遇到相同的错误,您应该从_construct方法中删除该代码并将其传递给 Post API。


推荐阅读