PHP POST данные и получить ответ с помощью curl

Я прочитал много статей и обсуждений (также в Stackoverflow), но я не нашел решения.
У меня есть форма с действием на внешний веб-сайт.

Мне нужно отправить свою форму, получая ответ от этого сайта (заголовок ответа моего http-запроса хорош). Является ли это возможным?

Я пытался с curl (CURLOPT_RETURNTRANSFER true), но, возможно, что-то не так в моем следующем коде:

        $post_data['xx'] = 'xxx';
$post_data['yy'] = 'yyy';
$post_data['zz'] = '13-12-2015';

$postData = '';
foreach($post_data as $k => $v)
{
$postData .= $k . '='.$v.'&';
}
rtrim($postData, '&');

$url = 'http://......';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec ($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo $http;

curl_close ($ch);

Возвращаемое значение равно «0».

Спасибо!

0

Решение

Если я выбрал то, что вы ищете, позвольте мне предположить, что это решение:

main.php

<form method=post action=target.php><input name=mypostdata type=text ><input type=submit ></form><?php`include("curl.php");?>

Target.php

<?php if( isset($_POST['mypostdata']) ){echo "<span>done</span>";}else{}?>

curl.php

<?php function file_get_contents_curl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$html = file_get_contents_curl("target.php");
$doc = new DOMDocument();
@$doc->loadHTML($html);
$nodes = $doc->getElementsByTagName('span');
//get and display what you need:
$response = $nodes->item(0)->nodeValue;
echo $response;
?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]