postで受け取ったデータをphpでxmlデータに変換したい - PHPプロ!Q&A掲示板

301

  • 0P

postで受け取ったデータをphpでxmlデータに変換したい

質問日時 / 2006年12月31日 07:08    回答数 / 1件

Questioner:  watyu  このエントリーをはてなブックマークに追加 

キーワード / xml    post    phpからxmlデータへ変換   

初めまして、php全くの初心者です。よろしくお願いいたします。

Flashで簡単なメッセージをpost送信し、その値をphpでxml形式に変換して、
Flash側で再度そのxmlを呼び出すということをしたいのですが、
phpの部分がさっぱりわかりません。。

postの内容は、名前と一言メッセージです。これを、送信されるたびにxml形式でどんどん格納して行きたいのです。
どなたか、参考になるようなスクリプトまたはサイトをご存知でしたら、是非教えていただけないでしょうか。

初歩的な質問で申し訳ありませんが、よろしくお願いいたします。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┗A01shizkはじめまして。 ご質問のスクリプトは文字コードに依

回答一覧

並び替え:

A01
answerershizk [1月1日 15:18] (最終編集:1月1日 15:29)

はじめまして。
ご質問のスクリプトは文字コードに依存します。
下記のコードでは、UTF-8で文字を受信し、XMLでも出力するものとします。
送信されるデータ名がnameとmsgであるとすると、

  1. <?php
  2. // 文字エンコードを設定する
  3. mb_internal_encoding('UTF-8');
  4.  
  5. // 受け取った値をエスケープする
  6. $clean = array('name' => '''msg' => '');
  7.  
  8. if (isset($_POST['name']$_POST['msg'])) {
  9.   $name = mb_convert_encoding($_POST['name']'UTF-8''auto');
  10.   $msg  = mb_convert_encoding($_POST['msg'] , 'UTF-8''auto');
  11.   
  12.   $clean['name'] = htmlentities($nameENT_QUOTESmb_internal_encoding());
  13.   $clean['msg']  = htmlentities($msg , ENT_QUOTESmb_internal_encoding());
  14. }
  15.  
  16. header("Content-Type: text/xml; charset=UTF-8");
  17. ?>
  18. <?xml version="1.0" encoding="UTF-8" ?>
  19. <root>
  20.   <name><?php echo $clean['name']?></name>
  21.   <message><?php echo $clean['msg']?></message>
  22. </root>

また、メッセージ内にHTMLを含ませたいなら、

  1. <?php
  2. ...
  3. $clean['message'] = $msg;
  4. ...
  5. ?>

として下さい。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
PHPのHTML埋め込み記述について
 このエントリーをはてなブックマークに追加 
A
$_POST["data"] == "男" ? $val = "checked" : $val = "" ; の意味は以下と同じです。 if($_POST["data"] == "男"){ $val = "checked; } e...

>>続きを読む

kende様のご指摘通り、三項演算子を使用する際には、コードの複雑度などを考慮する必要がありますね。書きやすさと共に可読性も追求したいところですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)