0

我有一个客户端,他需要能够在我的服务器上运行一个脚本,为脚本提供一个 ID 号,然后接收一个包含有关该 ID 信息的 XML 字符串。例如,他会向“www.mywebsite.com?uid=424”发送一个请求,然后收到一个可能看起来像这样的 xml 字符串:

<client>
    <clientID>424</clientID>
    <clientName>ABC123</clientName>
    <contact>Joe Schmoe</contact>
</client>

我以前从未这样做过,所以我想知道它是否像获取 ID 号、运行查询以获取所有信息然后打印 xml 数据一样简单,或者是否有某种数据返回功能像这样的事情。我试图用谷歌搜索它,但找不到任何东西......可能是因为我没有在寻找正确的东西。任何帮助将不胜感激。

4

3 回答 3

3

获取 url 参数$_GET

<?php
$id = $_GET['uid'];
?>
<client>
    <clientID><?php echo $id; ?></clientID>
    <clientName>ABC123</clientName>
    <contact>Joe Schmoe</contact>
</client>
于 2012-11-12T22:17:47.033 回答
0

简单地说——是的。

更复杂 - 取决于对方正在寻找什么样的请求。如果他们可以接受 html,那么是的,你就完成了。如果他们需要另一种类型的输出 - 您可能需要更改您的内容类型标头。

于 2012-11-12T22:18:28.680 回答
0

您可以根据需要使其变得简单。我会这样做:

<?php
 //Your sql connection
 $db = new PDO("mysql:dbname=testdb;host=127.0.0.1", "user", "pass");

 //Get the id from the url and cast it to an integer
 $id = (int) $_GET['id'];

 //select the stuff from your database
 $q = $db->prepare("SELECT `name`,`id`,`contact` FROM `blabla` WHERE id = ?");
 $q->execute( array( $id ) );
 $client = $q->fetch(2);

 //Output as xml
 header("Content-type: text/xml; charset=utf-8");
 echo 
"<?xml version="1.0"?>
  <client>
    <clientID>{$client['id']}</clientID>
    <clientName>{$client['name']}</clientName>
    <contact>{$client['contact']}</contact>
</client>"; 
 exit;
于 2012-11-12T22:25:06.500 回答