【问题标题】:CI Url Parameters not getting with _REQUEST MethodCI Url 参数未使用 _REQUEST 方法获取
【发布时间】:2023-03-23 22:16:01
【问题描述】:

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

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

webservice 代码是这样的

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 方法,因为它之前工作过。

能否请您让我找出发生这种情况的原因。

【问题讨论】:

    标签: php codeigniter url request codeigniter-3


    【解决方案1】:

    来自documentation

    在系统初始化期间,发现存在于 $_GET$_POST$_REQUEST$_COOKIE 中的所有全局变量均未设置。

    所以,我建议你改用$this->input->get()$this->input->post()

    【讨论】:

    • 谢谢你,但我不能使用,因为这个系统已经在早些时候工作了,但在更改域名后现在就不行了。
    【解决方案2】:

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

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

    对于Reference

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-13
      • 1970-01-01
      • 2022-01-07
      • 2015-04-11
      相关资源
      最近更新 更多