2015-07-21 93 views
-1

我想使用PHP進行POST。在API中,建議採用以下格式。在PHP數據格式POST POST錯誤

// post url, keys are added here. 

{ 
    "EmailAddress": "[email protected]", 
    "ActivityEvent": 112, 
    "ActivityNote": "Note for the activity", 
    "ActivityDateTime": "yyyy-mm-dd hh:mm:ss", 
    "FirstName": "John", 
    "LastName" : "Smith", 
    "Phone" : "+919845098450", 
    "Score": 10 
} 

我在PHP代碼:

$firstName='Test5'; 
$activityEvent=201; 
$emailAddress='[email protected]'; 
$activityNote='Note note note'; 
$phone='999999999'; 
$date='2015-07-21 12:48:10'; 

$data_string['ActivityEvent']=$activityEvent; 
$data_string['EmailAddress']=$emailAddress; 
$data_string['ActivityNote']=$activityNote; 
$data_string['Phone']=$phone; 
$data_string['ActivityDateTime']=$date; 
//json_encode($data_string); 
try 
{ 
    $curl = curl_init($url); 
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($curl, CURLOPT_HEADER, 0); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($curl, CURLOPT_HTTPHEADER, array(
         'Content-Type:application/json', 
         'Content-Length:'.strlen($data_string) 
        )); 
$json_response = curl_exec($curl); 
curl_close($curl); 
} catch (Exception $ex) { 
curl_close($curl); 
} 

預期此代碼不能正常工作。我沒有得到任何更新。代碼是否正確?

+1

取消註釋json_encode($ data_string) – chrisjacob

+0

我這樣做,它仍然不工作 –

+5

歡迎堆棧溢出,請確保您訪問[旅遊]頁面和[問]頁面。我也強烈推薦你閱讀[mcve]。 –

回答

0

你試過了嗎?

$object = new StdClass; 
$object->ActivityEvent = 201; 
$object->EmailAddress = '[email protected]'; 
//add more properties here 
echo json_encode($object); 
0
$datastring = array(
'firstName' => 'John', 
'lastName' => 'Smith', 
...........); 
$ch = curl_init("YOUR_URL_HERE"); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $datastring); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$result = curl_exec($ch); 
curl_close($ch); 

結果將被存儲在$result可變