Почему я получаю пустую строку PHP curl OpenCart - PullRequest
1 голос
/ 29 мая 2019

Я пытаюсь получить доступ к функции через curl из другого источника, который я разместил на своем веб-сайте OpenCart, и предполагается, что текущие продукты хранятся в базе данных.

Обычно, когда кто-то пытается получить доступ к какой-либо странице в opencart администратора, она перенаправляется на страницу входа, что также происходит с моим запросом curl. Я отправляю имя пользователя и пароль через пост-поля, чтобы получить доступ к странице входа в систему, так как она будет входить вручную, чтобы я мог быть перенаправлен на свою функцию.

Моя функция будет:

public function get_settings(){

        $this->load->model('catalog/product');
        $this->load->model('tool/image');
        $return = $this->model_catalog_product->getProducts();
        $array = array();
        foreach($return as $ret){
            $array[] = array(
                'product_id' => $ret['product_id'],
                'product_image' => ($ret['image']) ? $this->model_tool_image->resize($ret['image'], 40, 40) : $image = $this->model_tool_image->resize('no_image.png', 40, 40),
                'product_name' => $ret['name'],
                'product_model' => $ret['model'],
                'product_quantity' => $ret['quantity'],
                'product_price' => $this->currency->format(number_format($ret['price'], 2, '.', ''), $this->config->get('config_currency')),
                'product_status' => ($ret['status'] == 1) ? 'Enabled' : 'Disabled'
            );
        }
        echo json_encode($array);
    }

В то время как мой запрос локона будет:

$params = array(
            'username' => $this->session->userdata('admin_user'),
            'password' => $this->session->userdata('admin_pass'),
            'redirect' => $this->session->userdata('domain').'admin/index.php?route=catalog/product/get_settings'
        );

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $this->session->userdata('domain').'admin/index.php?route=common/login');
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $return = curl_exec($ch);
        curl_close($ch);

        var_dump($return);

Я не получаю никаких сообщений об ошибках. Я проверил в лог-файлах. Я получаю только пустую строку. OpenCart проверяет при входе в систему, существует ли какое-либо значение сообщения перенаправления, которое я отправляю, чтобы отправить меня вперед на эту конкретную страницу, которая является функцией, которая возвращает мой JSON

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...