通过PHP CURL发送POST数据不起作用

时间:2015-02-27 23:03:38

标签: php curl

使用下面的代码,我无法发送任何POST数据。应该接收它的页面由于某种原因没有收到它。

$url = "http://www.somesite.com/curl_test_page.php";

$employee_id = 5;
$post_fields = "employee_id=" . $employee_id;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);     

$result = curl_exec($ch);

在curl_test_page.php上,代码如下:

$employee_id = $_POST['employee_id'];
echo $employee_id;

当我运行CURL脚本时,它会显示一个空白页面。

2 个答案:

答案 0 :(得分:2)

  1. 您没有使用 curl_init
  2. 推荐使用 CURLOPT_HTTPHEADER
  3. 强制使用enctype
  4. 我建议您使用http_build_query功能
  5. 示例:

    $url = "http://www.somesite.com/curl_test_page.php";
    
    $employee_id = 5;
    
    $post_fields = Array(
        employee_id => $employee_id
    );
    
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_HEADER, false); 
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/x-www-form-urlencoded'));
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_fields));     
    
    $result = curl_exec($ch);
    

答案 1 :(得分:0)

您没有打印任何输出。尝试添加

<?php
echo $result;
?>