ถามเรื่อง รับค่า XML จากเครื่อง Client ส่งมายัง เครื่อง Server ครับ ติดเรื่อง นำ ค่า XML ที่ได้รับในเครื่อง Server ไปใช้อย่างไร
Code จาก Client น่ะครับ
Code (PHP)
$xml_rates='<?xml version="1.0" encoding="utf-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
</note>';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://xxx.com/admin/xml/xml.php");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_rates);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
echo $result = curl_exec($ch);
curl_close($ch);
Code จาก Server น่ะครับ ผม Print_r ได้ข้อมูลดังนี้
Array ( [ "1.0" encoding="utf-8"?> Tove Jani )
ประเด็นคือ ผมจะนำข้อมูลตัว Request ออกมาเป็นค่าที่ 1 ค่าที่ 2 ด้วยวิธีไหนหรอครับ
คือผมต้องการอ่านข้อมูลจาก <to></to> , <form></form> มาใช้ในการค้นหาข้อมูลในฐานข้อมูลน่ะครับ รบกวนหน่อยน่ะครับ ติดตรงนี้อ่ะ Y Y
Code (PHP)
print_r($_REQUEST);
ผมลองด้วยวิธีนี้แล้วได้ เป็นค่า ว่างอ่ะครับ
Code (PHP)
$xml=simplexml_load_string($_REQUEST);
print_r($xml);
Tag : PHP
ประวัติการแก้ไข 2014-04-21 12:09:44
Date :
2014-04-21 11:48:48
By :
nut_ch31
View :
1216
Reply :
4
code ของ client (ถ้าแก้ได้) ให้แก้จาก
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_rates);
เป็น
curl_setopt($ch, CURLOPT_POSTFIELDS, "xml_rate=".urlencode($xml_rates));
แล้วก็เอา $_POST['xml_rate']; ไปปู้ยี่ปู้ยำตามสบายครับ
Date :
2014-04-21 12:49:34
By :
itpcc
ส่วนการแปลค่า
ก็ใช้
$xml = simplexml_load_string($_POST['xml_rate']);
แล้วดึงค่าจาก
$xml->to;
กับ
$xml->from;
ครับ
Date :
2014-04-21 12:53:55
By :
itpcc
แล้วเวลาผมจะส่ง XML กลับคืนให้ทาง Client ผมก็แค่
echo "<tag xml >" ให้เค๊าใช่ไหม๊ครับ
Date :
2014-04-21 13:30:59
By :
nut_ch31
Load balance : Server 02