2016-09-24 2 views
0

Ich habe ein bisschen ein Problem mit Curl. Es wird einfach nicht $ Variablen nehmen .. Bitte helfen. Der Rest des curl Anfrage korrekt ist, und ich habe es geschafft, es zu isolierenphp pass var zu locken Anfrage

Hier ist, was ich

CURLOPT_POSTFIELDS => "{\"msisdn\":$msisdn, \"transactionId\": $_id, \"transactionAmount\": $amount}", 

$payload = json_encode(array("msisdn"=> $s_msisdn,"transactionId"=>$_id, "transactionAmount"=>$_amount)); 
... 
CURLOPT_POSTFIELDS => $payload, 

EDIT versucht haben: Voll Anfrage

$curl = curl_init(); 
    curl_setopt_array($curl, array(
    CURLOPT_PORT => "5001", 
    CURLOPT_URL => "http://123.123.23.11:5001/demo", 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_ENCODING => "", 
    CURLOPT_MAXREDIRS => 10, 
    CURLOPT_TIMEOUT => 30, 
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
    CURLOPT_CUSTOMREQUEST => "POST", 
CURLOPT_POSTFIELDS => "{\"msisdn\":"'.$_msisdn.'", \"transactionId\": "'.$_id.'", \"transactionAmount\": "'.$_amount.'"}", 
CURLOPT_HTTPHEADER => array(
    "authorization: Basic abcdefgh", 
    "content-type: application/json", 
), 
)); 

Antwort

1

Hier ist, was können Sie benutzen. Ihre JSON-Zeichenfolge enthält nicht die richtigen Angebote. Ich persönlich finde es einfacher, ein Array zu verwenden, als json_encode es zu speichern.

$data = array (
    "msisdn" => $_msisdn, 
    "transactionId" => $_id, 
    "transactionAmount" => $_amount, 
); 
$jsonData = $json_encode($data); 
$curl = curl_init(); 
curl_setopt_array($curl, array(
    CURLOPT_PORT => "5001", 
    CURLOPT_URL => "http://123.123.23.11:5001/demo", 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_ENCODING => "", 
    CURLOPT_MAXREDIRS => 10, 
    CURLOPT_TIMEOUT => 30, 
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
    CURLOPT_CUSTOMREQUEST => "POST", 
    CURLOPT_POSTFIELDS => $jsonData, 
CURLOPT_HTTPHEADER => array(
    "authorization: Basic abcdefgh", 
    "content-type: application/json", 
), 
)); 

Dies ist näher an Ihrem Code mit dem JSON behoben.

$curl = curl_init(); 
curl_setopt_array($curl, array(
    CURLOPT_PORT => "5001", 
    CURLOPT_URL => "http://123.123.23.11:5001/demo", 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_ENCODING => "", 
    CURLOPT_MAXREDIRS => 10, 
    CURLOPT_TIMEOUT => 30, 
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
    CURLOPT_CUSTOMREQUEST => "POST", 
    CURLOPT_POSTFIELDS => "{\"msisdn\": \"{$_msisdn}\", \"transactionId\": \"{$_id}\", \"transactionAmount\": \"{$_amount}\"}", 
CURLOPT_HTTPHEADER => array(
    "authorization: Basic abcdefgh", 
    "content-type: application/json", 
) 
)); 
+0

Ich habe den gesamten Code – Bmbariah

+0

Thanks..Works great – Bmbariah