Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未使用列表函数(?)正确传递变量_Php_Post_Curl_Explode - Fatal编程技术网

Php 未使用列表函数(?)正确传递变量

Php 未使用列表函数(?)正确传递变量,php,post,curl,explode,Php,Post,Curl,Explode,下面是我使用的一个片段,它从指定2个变量的URL收集JSON中的一些数据: <?php function soldipubblici() { $curl_parameters = array( 'codicecomparto' => "PRO", 'codiceente' => "011120674", ); $ch = curl_init(); curl_setopt($ch,CU

下面是我使用的一个片段,它从指定2个变量的URL收集JSON中的一些数据:

<?php

function soldipubblici() {

    $curl_parameters = array(
        'codicecomparto'    =>  "PRO",
        'codiceente'        =>  "011120674",
    );

    $ch = curl_init();

    curl_setopt($ch,CURLOPT_URL,"http://soldipubblici.gov.it/it/ricerca");
    curl_setopt($ch,CURLOPT_POST,true);
    curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query( $curl_parameters ));
    curl_setopt($ch,CURLOPT_HTTPHEADER,array (
        "Content-Type: application/x-www-form-urlencoded; charset=UTF-8",
        "Accept: application/json",
        "X-Requested-With: XMLHttpRequest",
    ));

    $output=curl_exec($ch);

    curl_close($ch);
}

echo soldipubblici();

?>
请求工作正常,在更改事件中,我成功获得POST值:

由于它起作用了,我现在可以在richiesta.php中放置带有两个变量的“real”函数,这次不是手动的,而是从POST请求中检索值:

<?php

function soldipubblici() {
    list($comparto, $ente) = explode("-", $_POST['value'], 2);

    $curl_parameters = array(
        'codicecomparto'    =>  $comparto,
        'codiceente'        =>  $ente,
    );

    $ch = curl_init();

    curl_setopt($ch,CURLOPT_URL,"http://soldipubblici.gov.it/it/ricerca");
    curl_setopt($ch,CURLOPT_POST,true);
    curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query( $curl_parameters ));
    curl_setopt($ch,CURLOPT_HTTPHEADER,array (
        "Content-Type: application/x-www-form-urlencoded; charset=UTF-8",
        "Accept: application/json",
        "X-Requested-With: XMLHttpRequest",
    ));

    $output=curl_exec($ch);

    curl_close($ch);
}

echo soldipubblici();

?>

不幸的是,它不起作用:(
我在Firebug中得到一个空响应…如果在同一个代码段中,我手动设置了2个变量,而不是If works…似乎它们没有从
列表
函数中正确传递。

选项中的
-
周围有空格,您可能需要删除它们

$curl_parameters = array(
    'codicecomparto' => trim($comparto),
    'codiceente' => trim($ente),
);

最后一件事:我如何修改jQuery代码片段以在输入框(而不是“this.value”)中输出响应(现在我只能通过Firebug看到该响应)?向
$.post()
添加一个回调函数,该函数满足您对响应的要求。
<?php

function soldipubblici() {
    list($comparto, $ente) = explode("-", $_POST['value'], 2);

    $curl_parameters = array(
        'codicecomparto'    =>  $comparto,
        'codiceente'        =>  $ente,
    );

    $ch = curl_init();

    curl_setopt($ch,CURLOPT_URL,"http://soldipubblici.gov.it/it/ricerca");
    curl_setopt($ch,CURLOPT_POST,true);
    curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query( $curl_parameters ));
    curl_setopt($ch,CURLOPT_HTTPHEADER,array (
        "Content-Type: application/x-www-form-urlencoded; charset=UTF-8",
        "Accept: application/json",
        "X-Requested-With: XMLHttpRequest",
    ));

    $output=curl_exec($ch);

    curl_close($ch);
}

echo soldipubblici();

?>
$curl_parameters = array(
    'codicecomparto' => trim($comparto),
    'codiceente' => trim($ente),
);