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 に答える