• ベストアンサー

入力フォームの結果出力について

 一つの入力フォーム(PHP)から、動的に複数のHTMLを出力し、見た目は1画面となる様に見せたい、と考えているのですが方法が思い浮かびません。  例えば、"動的HTML-A"はmysqlの検索結果、"動的HTML-B"は、入力された検索用語やオプション等の値、"動的HTML-C"はAmazonのアファリエイトの商品、等です。  但し、  ・ 動的に出力する複数のHTMLは、一つ一つ必ず「<HTML>~</HTML>」の形で出力され、  ・ それが複数存在し、  ・ またそのHTMLを編集しない、  という条件は変更不可なのですが・・・。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mpx
  • ベストアンサー率71% (149/209)
回答No.2

No.1続き >> <frameset> >>  <frame src="$decode_after_html"> >>  <frame src="$another1_html"> >>  <frame src="$another2_html"> >> </frameset> >>  の様なやり方で出来るのでしょうか? それでは正しく表示されません。 下記に例示します クライアントからのアクセスページを例えば下記のように作ります <html> <head><title>フレーム使用例</title></head> <frameset rows="200,*"> <frame src="decode.php?page=decode_after_html" name="ue"> <frameset cols="250,*"> <frame src="decode.php?page=another1_html" name="hidari"> <frame src="decode.php?page=another2_html" name="migi"> </frameset> </frameset> </html> さらに、decode.php というファイル名で以下のスクリプトを組んでおきます ・$_GET['page']で得られるページ名に応じたデータをMySQLより読み込む ・読み込んだデータを、b64デコードします。 ・デコードのしたデータ(html形式)を 出力(echo)する

task2easy
質問者

お礼

 早速のレス、有難うございました。  成程、出力するスクリプト名毎を指定すればいいのですね。  まっっっっったく気がつきませんでした。ちょっと考えればわかりそうなモンですが (^_^:・・・。  灯台元暮らしというか、目から鱗です。  ご配慮多謝です。

その他の回答 (1)

  • mpx
  • ベストアンサー率71% (149/209)
回答No.1

"動的に出力する複数のHTML" なのに "そのHTMLを編集しない" というのが理解できないので、条件は満たしていないかもしれませんが、 "動的に複数のHTMLを出力し、見た目は1画面となる様に見せたい”だけなら、フレームセット<frameset>かインラインフレーム<IFRAME>を使えば複数のページを1ページのように見せることは可能です。

task2easy
質問者

お礼

 早速の回答ありがとうございます。  仰る通りです。mysqlのバイナリ項目に、b64エンコされたHTMLが入っており、それを取り出してデコードして表示する、という事をしなくてはいけないくて、  echo $decode_after_html;  とやると、$decode_after_htmlの中は、「<HTML>~</HTML>」の形式で入っている為、他に出力したい内容を表示出来ず困っていました。<frameset>なら、 <frameset>  <frame src="$decode_after_html">  <frame src="$another1_html">  <frame src="$another2_html"> </frameset>  の様なやり方で出来るのでしょうか?  今は実行環境が無いので、ちょっと試してみたいと思います。有難うございました。

関連するQ&A