Curl проблемы с отправкой POST

219
28 марта 2018, 06:20

Добрый день!

Есть код отправки данных на сервер. Проблема в том, что с локального хостинга (Open Server) всё прекрасно уходит, а если скрипт загружен на сервер, то возвращает bool(false). В логах на сервере, куда должны приходить данные, показывает, что запрос туда вообще не приходит. В чем может быть дело?

Спасибо!

    $post_data = array (  
    "first_name" => $_POST['name'],  
    "email" => $_POST['email'],  
    "phone" => $_POST['phonecode'] . $_POST['phone'], 
    "ip" => $_SERVER['REMOTE_ADDR'], 
    "source" => "Контакты", 
    "language" => "RU", 
    "country" => $_POST['country'], 
    "form" => "форма", 
    "description" => $_POST['pageTitle'] . '\n' . $_POST['message']  , 
);  

$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, 'http://...' );
curl_setopt( $curl, CURLOPT_POST, true );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec( $curl );
curl_close( $curl );
  var_dump($out);
Answer 1

Ошибка здесь:

curl_setopt( $curl, CURLOPT_POSTFIELDS, $post_data);

Вы передаете массив, но нужно передавать строку:

curl_setopt( $curl, CURLOPT_POSTFIELDS, http_build_query($post_data));

Про http_build_query

READ ALSO
Кто сталкивался с /assignment/protocol-php/ на wordpress?

Кто сталкивался с /assignment/protocol-php/ на wordpress?

В гугле таких страниц много, но непонятно откуда они исходят? https://wwwgoogle

188
Обратный слеш в php

Обратный слеш в php

Установил Php Inspections (EA Extended) v30

196
Выполнение php кода в определенный момент времени

Выполнение php кода в определенный момент времени

Мне допустим в час ночи необходимо обработать все записи одной таблицы в БДВ качестве серверного языка использую php

172