• 締切済み

【PHP】XMLをPOST等で読み込むには?

PHP初心者です。 普通の文字列をPOSTから取得するには $atai = $_POST[xxx]; みたいな感じですがXMLを受信する場合がわかりません。 検索してもみつかりません。 具体的にいうとFlash8→PHP4という流れです。 お詳しい方、よろしくお願いいたします。

みんなの回答

noname#39970
noname#39970
回答No.1

ヒント  text/xml

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • FLASH⇒PHP間のXML受け渡し

    FLASH & PHP初心者です。 環境: FLASH8 PHP5.2.3 FLASHからsendAndLoadを使ってXMLを送信した場合、サーバ側PHPでは$_POST[];でデータ取得できるのかなと思って調べています。 例:xml_Request.sendAndLoad("http://localhost/xmlresponder.php", xml_Response); このとき、$_POST[]の中には何を記述したらよいのでしょうか。 それとも他の取得方法があるのでしょうか。 同様の質問がQNo.2916528に上がっていたのでecho $_POST[text/xml];で動かしてみたのですが<br />が返って来ただけでした。 ご教授宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPからFlashにXMLをそのまま渡す方法

    こんにちは PHPでXMLファイルを読み込み、それをそのままFlashに渡しFlash側でXMLをパーサしようと、このように書きました ------------------------------------------------------- (PHP) <?php $url = 'test.xml'; $h = fopen($url, "r"); $result_xml= ''; while(!feof($h)) { $result_xml.= fread($h, 4096); } fclose($h); echo "&data=$result_xml&"; ?> ------------------------------------------------------- (Flash) var xml:XML = new XML(); xml.load("work.php"); xml.onLoad = function(success:Boolean):Void { if (success) { trace(this.data); } }; ------------------------------------------------------- するとtraceの結果はundefinedでした。 PHPの出力結果が文字列型だということが原因のような気がするのですが、PHP側から文字列で出力するのではなく、XMLで出力するにはどうしたらよいでしょうか? リファレンスを探してみたのですが、なかなかそういった関数が見つかりませんでした。 よろしくお願いします。

  • phpからxmlへの文字化け

    PHPについての質問です。PHPのバージョンは5です。 FLASH8で作ったスクリプトからPHPに変数を送り、その変数をPHPからXMLに送っています。 しかしPHPからXMLに送ると日本語がちゃんと表示されません。何かPHPの方でしないとまずいのですか? <FLASH> System.useCodepage = true; SendData = new LoadVars(); //送りたいデータを箱に詰める this.btn_mc.onRelease = function() { _root.SendData.pro1 = nam; _root.SendData.pro2 = sbj; _root.SendData.pro3 = mail; _root.SendData.pro4 = product; //データ(中身)を詰めた箱をgetFlash.phpに送信 _root.SendData.sendAndLoad("http://localhost/php/xml_php/xml12.php", _root.SendData); }; <PHP> <?php /*変数を入れる*/ $name = $_POST["pro1"]; $sbj = $_POST["pro2"]; $add = $_POST["pro3"]; $msg = $_POST["pro4"]; /*時間を取得する*/ $stamp = time(); $date = date('Y,m/d(D)', $stamp); /*xmlに追加*/ $xml_path = "test1.xml"; $xml = file_get_contents( $xml_path ); $replace_key = "<article>"; $add_xml = $replace_key."\n<entry name='$name' dat='$date' tit='$sbj' contents='$msg'/>\n"; $result = str_replace($replace_key,$add_xml,$xml); file_put_contents( $xml_path , $result ); ?> <xml> <?xml version="1.0" encoding="utf-8"?> <article> <entry name="ha" dat="2008,03/10(Mon)" tit="test" contents="hogehoge"/> </article> となっています。

    • 締切済み
    • PHP
  • XMLデータをPOSTで送信・受信する方法

    PHP初心者です。 以下のようなXMLのデータをPOSTで送信、送信されてきたXMLデータを受信する方法がわからず行き詰っています。 フォームで以下のXMLデータをtest.phpに送ってみようと試しているのですが、valueにXMLのデータをどのようにセットすればいいのかわかりません。 そもそもこの方法が合っているのかどうかも自信がない状態です。 仕事の関係でどうしても今週中に仕上げなければならず、 大変困っています。 どなたかアドバイスをください。 よろしくお願いします。 <form action="test.php" method="post">   <input type="hidden" name="xmldata" value="">   <input type="submit" value="送信"> </form> 【test.xml】 <?xml version="1.0" encoding="UTF-8"?> <test> <sample01>あいうえお</sample01> <sample02>かきくけこ</sample02> </test>

    • 締切済み
    • PHP
  • PHP+MySQLでXMLを作成し、それをいくつか連結したものを返す方

    PHP+MySQLでXMLを作成し、それをいくつか連結したものを返す方法を教えてください。 HTML ↓(1)httpリクエスト,パラメータ (2)main.php(XML化メイン処理) XMLデータ送信→ HTML ↑ ↑ ↑ ↓ ↓ ↓ (3)xml_1.php xml_2.php xml_3.php(XML生成子処理) ↑ ↑ ↑ ↓ ↓ ↓ DB (2)main.phpでHTMLから受け取ったコマンドを元に生成するXMLの取得を振り分ける。(switch文) (3)各phpでDBからデータを取得しXML形式にする。 (4)main.phpでそれぞれのXMLを連結し送信。 というのがやりたいことなんですけど、 ・SQLからデータを取得し、XMLにする方法 ・メイン処理でそれぞれを連結する方法 がわかりません。 main.php <?php function xml_main($cmd, &$xml ){ global $log4php,$con,$debugMode; $result = false; $dbErrMsg; // DB Open openDb(); dbErr(); // log4phpオブジェクト //$log4php = new log4php('log4php_xml.properties'); // トランザクション開始 mysql_query('BEGIN'); $log4php->debug('トランザクション開始'); /* try{ // 文字コード変換(ujis=EUC-JP) // TIPS デフォルトの文字コードがEUCだった場合は以下の二行を削除してください。 $sql = "SET NAMES utf8"; $result = @mysql_query($sql); } */ // XML Header生成 // コマンド毎の呼び出し switch($cmd){ case 0: xml_1.phpとxml_2.phpで生成したxmlを連結 break; case 1: xml_1.phpとxml_3.phpで生成したxmlを連結 break; case 2: xml_2.phpとxml_3.phpで生成したxmlを連結 break; default: break; } // XML基本情報タグ生成 // XML Footer生成 // DB Close closeDB(); } ?> xml_1.php <?php function xml_1($id,$member,$msg,&$xml){ //DBからデータを取得 //xmlを作成 } ?> という感じでやろうとしてるんですが。 xml_1.php xml_2.phpで文字列をreturnしてmain.phpでSimpleXMLで連結させるというのも方法として書いてあったんですが、 具体的なやり方がわかりません。 環境はPHP5.1 MySQL5です。

    • ベストアンサー
    • PHP
  • PHPを使ってXML署名を作成しようとしています。

    PHPを使ってXML署名を作成しようとしています。 いつもお世話になっております。 今回PHPを使用してXML署名のXMLファイルを作成したいと考えています。 そこで、IEにインポートした証明書の情報をPHPで取得することは可能でしょうか。 関連するモジュール、関数なんでも結構です。 現時点ではサーバ上に電子証明書のファイル(.p12)をアップロードしOpenSSLのopenssl_pkcs12_read関数を使用して情報を取得できることはわかりました。 できればIEにインポートしている証明書の中からデータを取得したいと考えています。 当方の環境は以下です。 PHP Version 5.2.6 OpenSSL 0.9.8g 19 Oct 2007 PHPの開発について初心者ですが、なにとぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • Xiを用いたXML内のキーワード検索。

    皆さん初めまして。 8月にXMLについて勉強をし始めた初心者です。 XMLに関してはXiを使うと良い、 と勧められてXiを勉強中なのですが、 中々うまくいきません。 今のところの目標として、検索エンジンを考えています。 XML内のデータベースに対して、 入力された文字列を含むキーワードを検索し、 ヒットしたキーワードを返す。 そんなプログラムを作りたいのですが、 具体的にどう作って良いかわかりません。 何かヒントか参考ソースがありましたら、 ぜひご教授のほどよろしくお願いします。

    • ベストアンサー
    • XML
  • phpからクエリ文字列でswfへ変数を送る方法

    現在、別のファイルから取得した変数を下記のようにPHPからクエリ文字列でswfへ送り、それを表示するFLASHを作成しています。 一応、PHP内で直接変数を使わずに、文字列を送った場合は表示に成功しました。 ////////PHP///////// <object 略> <param name="movie" value="flash.swf?test=<?php $_POST["test"] ?>" /> <embed src="chat.swf?test=<?php $_POST["test"] ?>"/> ///////FLASH//////// test_txt.text = _root.test;        ///表示用テキストに代入 どうにかPHPで取得した値をそのままswfへ送りたいのですが、『<?php $_POST["test"] ?>』のところで上手くいっていないようです。 PHPもFLASHも参考書を読みながら進めている初心者なので、解決方法や根本的に勘違いしているところがあったら、ぜひ教えていただけないでしょうか。 開発環境はPHP5.2、AS2を使っています。

    • ベストアンサー
    • Flash
  • 【PHP】文字をPOSTで飛ばすと「'」「"」「\」に「\」がつく

    <form>で文字列を送信して「$_POST」で受信する場合、 「'」「"」「\」の前にのみ自動で「\」がついてしまいます。 (「'」「"」「\」→「\'」「\"」「\\」) これはなぜでしょうか? できれば\を付けないようにしたいのですが… お詳しい方、よろしくお願いいたします。 <環境> EUC-JP PHP4.4.4 <プログラム> <?php header('Content-Type: text/html; charset=EUC-JP'); header('Content-Language: ja'); mb_internal_encoding("EUC-JP"); $step = $_GET["step"]; $tx = $_POST["tx"]; if($step==''){ // ---- 初期画面 print "<form action='hoge.php?step=end' method='POST'>"; print " <input type='text' name='tx'>"; print " <input type='submit' value='ENTER'>"; print "</form>\n"; } if($step=='end'){ // ---- 受信画面 print "{$tx}"; } ?>

    • ベストアンサー
    • PHP
  • GXmlHttpにPHPからXMLを渡したい。

    グーグルマップで、MYSQLから取得したデータを表示したいと考えています。 GXmlHttpを使ってphpのデータを取得するプログラムを組んだのですが、phpファイルでうまくデータを取得できません。 data.php -------------------------------------------------------- <?php mb_http_output('utf-8'); header('Content-type: text/xml; charset=utf-8'); echo '<?xml version="1.0"?>'; echo("<markers>"); $con=mysql_connect("**********","***","*****"); $selectdb=mysql_select_db("***",$con); $sql = "select * from map"; $result=mysql_query($sql,$con); while ($row=mysql_fetch_array($result)) { //緯度・経度を取得 $x = $row[x]; $y = $row[y]; //場所名 $basyo = $row[basyo]; echo("<marker lat=\"$x\" lng=\"$y\" html=\"$basyo\"/>"); } echo("</markers>"); ?> -------------------------------------------------------- というプログラムなのですが、 -------------------------------------------------------- テキストの内容に無効な文字が見つかりました。リソース 'http://www.********.com/map/joho.php' の実行エラーです。ライン 1、位置 74 <?xml version="1.0"?><markers><marker lat="36.6585" lng="138.7413" html=" -------------------------------------------------------- とエラー表示されてしまいます。 ちなみに、緯度・経度のみのデータ取得ならうまく表示されました。 ということは、「$basyo」が漢字を使う日本語だからなのでしょうか? このような場合、どうすればうまくデータベースからデータを取得できるのでしょうか? どうかよろしくお願いします。

    • 締切済み
    • PHP