我有一个客户端需要能够在我的服务器上点击脚本,为脚本提供一个ID号,然后接收一个包含该ID信息的XML字符串。例如,他会向“www.mywebsite.com?uid=424”发送请求并收回一个xml字符串,该字符串可能如下所示:
<client>
<clientID>424</clientID>
<clientName>ABC123</clientName>
<contact>Joe Schmoe</contact>
</client>
我之前从未这样做过,所以我想知道它是否像获取ID号一样简单,运行查询以获取所有信息然后打印xml数据,或者是否存在某种数据 - 为这样的事情返回功能。我试图谷歌它,但无法找到任何东西......可能是因为我没有找到合适的东西。任何帮助将不胜感激。
答案 0 :(得分:3)
使用$_GET
获取网址参数:
<?php
$id = $_GET['uid'];
?>
<client>
<clientID><?php echo $id; ?></clientID>
<clientName>ABC123</clientName>
<contact>Joe Schmoe</contact>
</client>
答案 1 :(得分:0)
简单地说 - 是的。
更复杂 - 取决于对方正在寻找什么样的要求。如果他们可以接受html,那么是的,你完成了。如果他们需要其他类型的输出 - 您可能需要更改内容类型标题。
答案 2 :(得分: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;