- ベストアンサー
入力フォームの結果出力について
一つの入力フォーム(PHP)から、動的に複数のHTMLを出力し、見た目は1画面となる様に見せたい、と考えているのですが方法が思い浮かびません。 例えば、"動的HTML-A"はmysqlの検索結果、"動的HTML-B"は、入力された検索用語やオプション等の値、"動的HTML-C"はAmazonのアファリエイトの商品、等です。 但し、 ・ 動的に出力する複数のHTMLは、一つ一つ必ず「<HTML>~</HTML>」の形で出力され、 ・ それが複数存在し、 ・ またそのHTMLを編集しない、 という条件は変更不可なのですが・・・。 よろしくお願いします。
- みんなの回答 (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)する
その他の回答 (1)
- mpx
- ベストアンサー率71% (149/209)
"動的に出力する複数のHTML" なのに "そのHTMLを編集しない" というのが理解できないので、条件は満たしていないかもしれませんが、 "動的に複数のHTMLを出力し、見た目は1画面となる様に見せたい”だけなら、フレームセット<frameset>かインラインフレーム<IFRAME>を使えば複数のページを1ページのように見せることは可能です。
お礼
早速の回答ありがとうございます。 仰る通りです。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> の様なやり方で出来るのでしょうか? 今は実行環境が無いので、ちょっと試してみたいと思います。有難うございました。
お礼
早速のレス、有難うございました。 成程、出力するスクリプト名毎を指定すればいいのですね。 まっっっっったく気がつきませんでした。ちょっと考えればわかりそうなモンですが (^_^:・・・。 灯台元暮らしというか、目から鱗です。 ご配慮多謝です。