Значение сеанса передается с помощью curl в другой проект, а значение принимается в "{" abc @ gmail_com ": null}" этом формате - PullRequest
0 голосов
/ 09 июля 2019

Использование curl впервые в моем проекте.Я использовал сессию в моем проекте.Когда я делаю {{ dd(session()->all()) }}, я получаю желаемый результат как "email" => "abc@gmail.com"

Но когда я передаю эту переменную через curl в мой другой проект, там значение получается в этом формате "{"abc@gmail_com":null}"

.com ИЗМЕНЕН _ _com, и есть ноль

Поэтому я не могу получить запись из базы данных по этому адресу электронной почты.Вот мой код:

        $sendData = Session::get('email');
//        dd($sendData);
        $url = 'http://localhost/myproject/project-apis/public/index.php/myRequest';

            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL,$url);
            curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS,$sendData);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            $server_output = curl_exec($ch);
            curl_close ($ch);
    //        dd($server_output);
            $dataReceive = json_decode($server_output);
            if($dataReceive->status == 'TRUE'){
                $profile = $dataReceive->profile;
            }
            else{
                $profile = array();
            }

Пожалуйста, помогите мне.

Примечание: я не использую ремесленную подачу в этом проекте, поэтому мой URL-адрес в порядке.

1 Ответ

0 голосов
/ 09 июля 2019

CURLOPT_POSTFIELDS ожидает либо массив, либо строку с кодировкой urlen:

https://www.php.net/manual/en/function.curl-setopt.php

Но эта строка хранит адрес электронной почты только в $sendData:

$sendData = Session::get('email');

Попробуйте установить CURLOPT_POSTFIELDS следующим образом:

curl_setopt($ch, CURLOPT_POSTFIELDS, ['email' => $sendData]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...