2015-03-16 5 views
4

Im пытается моя рука при использовании локона, чтобы опубликовать некоторые данные, я не reciving моего поста содержания и не могу найти источник проблем

curl.php

<?php 

$data = array("user_email" => "22" , "pass" => "22"); 
$string = http_build_query($data); 


$ch = curl_init("http://localhost:8888/290_project/test.php"); //this is where post data goes too, also starts curl 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $string); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

curl_exec($ch); 
curl_close($ch) //ends curl 
?> 

test.php

<?php 
if(isset($_POST['user_email'], $_POST['pass'])) { 

$name = $_POST['user_email']; 
$pass = $_POST['pass']; 

echo $name; 
echo $pass; 

} else { 
echo "error"; 
} ?> 

Каждый раз, когда я получаю мой ответ ошибки означает пост данные не проходят. Я пробовал все, что мог придумать, чтобы справиться с проблемой, я должен быть в поисках того, о чем я еще не знаком?

+0

Попробуйте указать порт: 'curl_setopt ($ ч, CURLOPT_PORT, 8888),' –

+0

посыла $ данных вместо $ строки – Vinie

+1

Нет удачи с предыдущими комментариями, которые используются вместе или независимо друг от друга. – hunt4car

ответ

2

Пожалуйста, установите CURLOPT_URL в http://localhost:8888 .....

<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://localhost:8888/290_project/test.php"); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $string); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_exec($ch); 

if(!curl_errno($ch)){ 
$info = curl_getinfo($ch); 
} else { 
echo 'Curl error: ' . curl_error($ch); 
} 
curl_close($ch) //ends curl 
?> 

С curl_getinfo() - Возвращает информацию о последней передаче. Подробнее см. Ниже: - http://php.net/manual/en/function.curl-getinfo.php

Я отредактировал ответ. Причина ошибки - не завиток.

http_build_query($data, '', '&'); 
+0

Синтаксическая ошибка ... if (isset ($ _ POST ['user_email'], $ _POST ['pass'])) И, пожалуйста, проверьте, что вы получаете в ключе $ _POST – Aruti

-1

У вас ошибка в коде PHP:

редактировать:

if(isset($_POST['user_email'], $_POST['pass'])) { 

к:

if(isset($_POST['user_email']) && isset($_POST['pass'])) { 
+1

'isset (...)' может принимать несколько значений , Он будет оценивать слева направо и будет возвращать false по первому параметру, который не найден – DaveyBoy

0

Вслед работает пример. Пожалуйста, попробуйте это.

$postData = array(
     'user_name' => 'abcd', 
     'password' => 'asdfghj', 
     'redirect' => 'yes', 
     'user_login' => '1' 
    ); 
$url='http://localhost:8888/290_project/test.php'; 
$ch = curl_init(); 
//Set the URL to work with 
curl_setopt($ch, CURLOPT_URL, $url); 
// ENABLE HTTP POST 
curl_setopt($ch, CURLOPT_POST, 1); 
//Set the post parameters 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
//execute the request 
$store = curl_exec($ch); 
print_r($store); 
curl_close($ch) 
Смежные вопросы