2014-07-18 4 views
0

Проблемы с php-формой с использованием Curl. Ниже код работает отлично, как указаныПроблемы с php-формой с использованием Curl

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

$data = array(
     'address' => $_POST['address'] 

); 

curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 

кто может помочь

+0

Вы должны отправить его в качестве запроса (? Т.е. 'адрес = ADDRESS_HERE & fields..') - ['http_build_query()'] (http://php.net/manual/en/function.http-build-query.php) – Darren

ответ

1

попытаться отправить ваши почтовые данные в виде строки запроса

$str = ''; 
foreach($data as $key => $val){ 
    $str.= $key.'='.$val.'&'; 
} 
rtrim($str,'&'); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $str); 

или

curl_setopt($ch, CURLOPT_POSTFIELDS, 'address='.$_POST['address']); 

или

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); 

Согласно комментарий Ошибка вам нужен код: -

<?php 
$address = "Capitol Avenue, Elsmere, Kentucky"; 
$address = str_replace(" ", "+", $address); 
$address_url = "https://maps.googleapis.com/maps/api/geocode/json"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $address_url.'?address='.$address); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
echo $response = curl_exec($ch); 
print_r(curl_getinfo($ch)); 
curl_close($ch); 
$response_a = json_decode($response); ?> 
+0

Я пробовал вышеуказанный вариант, но не работал. вот мой весь код – user3782984

+0
+0

проверить мой обновленный ответ –

0
$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL,"http://www.example.com/post.php"); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, 
      "address=$_POST['address']"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HEADER, true); 

$server_output = curl_exec ($ch); 

curl_close ($ch); 
Смежные вопросы