• ベストアンサー

CGIで入力した内容をHTML内に表示

いつもお世話になっています。 メールフォームで事前に「aaa.cgi」というページで入力した内容を「bbb.html」内に表示したいと思っています。 具体的には「aaa.cgi」の中に「name」というフォームがあり、この値をそのままbbb.html内に「●●さん」として表示したいです。 $in{'name'}などとして引き継げるのはCGI→CGIですよね? HTMLに$in{'name'}と記述しても空欄になってしまうためご質問させて頂きました。 bbb.htmlをcgiで書き直してaaa.cgiの値を受け取った後、Printなどで出力する方法しかないでしょうか? よろしくお願い致します。

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

  • ベストアンサー
回答No.5

cookie併用でCGI(PHPモジュール、Servlet、ASP含む)が一般的とは思いますが、 このくらいならCGIにしなくてもSSIでできますね。 ホスティングサービスによっては、.htmlのファイルに対してpostが禁止されているサーバーもありますので、methodをgetに変えています。 一部、不要そうなスクリプトを消しました。 お名前がhiddenになってるのをtextに変更しました。 ■2.html <BODY> <TABLE> <TBODY> <TR> <TD colspan="2" align="center" bgcolor="#ffffff"> <FORM action="1.html" method="get"> お名前<INPUT name="name" value="" type="text"> <INPUT onclick="this.disabled=true;" class="FC" value="送信" type="button"> </FORM> </TD> </TR> </TBODY> </TABLE> </BODY> ■1.html・・・・ <!--#if expr="$QUERY_STRING=/name=([^&]+)/" --> <!--#set var="name" value="$1" --> <!--#endif --> <BODY> <!--#if expr="$name" --> <P>Welcome back, <!--#echo "$name" -->.</P> <!--#else --> <p><a href="2.html">Please login...</a></p> <!--#endif --> </BODY>

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

その他の回答 (4)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.4

#3です。 CGIだったりそれをHTMLにしたら、とか、もうひとつやりたい事とかわかりませんが、 aaa.htmlに次のようなmethod="get"のフォームがあればbbb.htmlにデータが渡るでしょう。 <form action="bbb.html" method="get"> <input type="name" value="XXX"> <input type="submit" value="送信"> </form> 送信すると→ bbb.html?name=XXX

すると、全ての回答が全文表示されます。
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.3

aaa.cgi から bbb.htmlに移動する際、 bbb.html?name=名前 みたいにして情報を渡してやれば bbb.htmlの中でjavascriptを使って渡された情報を表示する事は可能です。 URLにクエリとして乗せるほかにcookieを使った方法もあるかな。

news_0203
質問者

お礼

aaa.cgiをHTMLにして「aaa.html」内でFORMにより発信した情報をbbb.htmlでjavascriptで受け取ることも可能なのでしょうか?

すると、全ての回答が全文表示されます。
回答No.2

> $in{'name'}などとして引き継げるのはCGI→CGIですよね? bbb.htmlをHTMLファイルではなくCGIスクリプトで書けばいいのではないでしょうか。 メールフォームのCGIアプリケーションか、aaa.cgiを使ってbbb.htmlを書き直してもいいかもしれませんが、 2人以上が同時にアクセスすると、他人の名前が表示されるかも知れません。

すると、全ての回答が全文表示されます。
  • ryupyon
  • ベストアンサー率17% (29/163)
回答No.1

ちょっと意味がわからないのですが、HTMLのタグの入力ミスでは? できれば双方のファイルを確認させていただけませんか?

news_0203
質問者

お礼

質問が分かりにくくて申し訳ないです(>_<;) 1.htmlと2.htmlがあったとして、2.htmlで入力した内容を1.htmlに表示したいと思っています。 ■2.html <BODY> <TABLE> <TBODY> <TR> <TD colspan="2" align="center" bgcolor="#ffffff"> <FORM action="1.html" method="post" onsubmit="return false;"> <INPUT name="name" value="お名前" type="hidden"> <INPUT onclick="this.form.submit();this.disabled=true;" class="FC" value="送信" type="button"> </FORM> </TD> </TR> </TBODY> </TABLE> </BODY> ■1.html・・・・ <BODY> <P>$in{'name'}</P> </BODY> この2.htmlで入力した内容を1.htmlに表示するには・・・?ということで悩んでいますx_x;

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

関連するQ&A