2014-02-06 77 views
0

我是使用cURL的新手,所以我需要您的幫助。我的情況是,我想通過form-site(form.php)發送一個form(formular.php)。php curl不發送表單中的發佈數據

form.php通過cURL調用formular.php。

這裏都是源代碼:

form.php的

<?php 
    error_reporting(-1); 
    $url = 'http://localhost/formular.php'; 
    $data = array('customerline' => 'nummer1', 'customerphonenumber' => 'nummer2'); 
    $postString = http_build_query($data, '', '&'); 
    $ch = curl_init(); 
    curl_setopt ($ch, CURLOPT_URL, $url); 
    curl_setopt ($ch, CURLOPT_POST, 2); 
    curl_setopt ($ch, CURLOPT_POSTFIELDS, $postString); 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
    $post = curl_exec ($ch); 
    curl_close ($ch); 
    echo $post; 
?> 

formular.php

<?php if(isset($_POST['form'])): ?> 
    Sent! 
<?php else: ?> 
    <form action="http://localhost/formular.php" method="post" name="form"> 
     <input type="text" name="customerline" /> 
     <input type="text" name="customerphonenumber" /> 
     <input type="submit" value="send" name="form" /> 
    </form> 
<?php endif; ?> 

我的問題是,我不知道如何獲得文字段落「發送!」。

你能幫我嗎?

回答

1

你期待你的,如果條件有一個值對的形式if(isset($_POST['form']))但你是不是在發送捲曲。

你應該補充一點。所以,你的帖子參數應該是:

$data = array(
    'customerline' => 'nummer1', 
    'customerphonenumber' => 'nummer2', 
    'form' => 'value' 
); 
+0

感謝您的輸入,現在它的工作,完美!舉手 (: –

2

您可以直接傳入數組而不將其轉換爲查詢字符串。另外CURLOPT_POST應該是true

嘗試:

$url = 'http://localhost/formular.php'; 
$data = array('customerline' => 'nummer1', 'customerphonenumber' => 'nummer2'); 
$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_POST, true); 
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
$post = curl_exec ($ch); 
curl_close ($ch); 
echo $post; 

上的選項更多信息http://my1.php.net/curl_setopt