2016-04-25 64 views
0

我有一個帶有本地主機鏈接的小web服務。它接收值並將它們發送到數據庫。我想使用http post發送一個參數數組到這個webservice,然後在xml中獲得響應。有沒有人知道一個很好的方式來執行此操作?xml中的webservice響應

這裏是Web服務:

include('confi.php'); 

if($_SERVER['REQUEST_METHOD'] == "POST"){ 
//get data 
$artist = isset($_POST['artist']) ? mysql_real_escape_string(
     $_POST['artist']) 
     : ""; 
$title = isset($_POST['email']) ? mysql_real_escape_string(
     $_POST['email']) 
     : ""; 
$dateplayed = isset($_POST['date_played']) ? mysql_real_escape_string(
     $_POST['date_played']) 
     : ""; 

//insert data into database 
$sql = "INSERT INTO `tuto_db`.`songs` (`ID`, `artist`, `title`, " 
     . "`dateplayed`, " 
     . "`status`) VALUES (NULL, '$artist', '$title', '$dateplayed');"; 

$query = mysql_query($sql); 

if($query){ 
    echo "Done User added!"; 
}else{ 
    echo "Error adding user!"; 
} 
}else{ 
    echo "Request method not accepted!"; 
} 

mysql_close($conn); 
+0

檢查:http://stackoverflow.com/questions/15834164/sending-data-to-a-webservice-using-post –

+0

謝謝你的幫助!有用! :-) – Prosp

回答

0
public function sendHttpPostRequest($data) { 
    foreach ($data as $key => $value) { 
     $this->content .= $key . '=' . $value . '&'; 
    } 

    $curl = curl_init($this->webService); 

    curl_setopt($curl, CURLOPT_HEADER, false); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($curl, CURLOPT_POST, true); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $this->content); 

    $json_response = curl_exec($curl); 

    $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); 

    curl_close($curl); 

    $response = json_decode($json_response, true); 

    var_dump($response); 
}