カレッヂ |
質問者 小野塚貴弘
投稿日 9/22(月) 13:03:01
現状出回っているフォームメールは、確認画面やエラー発生時に表示される場合、 メッセージが表示されるだけのものばかりです。 もし宜しければ、確認画面やエラー発生時に表示される画面をHTMLのテンプレート を使って表示させるためのフォームメールを作るにはどうしたらよいのか教えてい ただけませんでしょうか? もしくは、本件に準じたCGIが配布されているようなサイトがありましたら教えて いただけませんでしょうか? よろしくお願いします。
プロバイダ参照:http://j-navi.com/ |
回答者 domo
[削除]
投稿日 9/23(火) 01:23:33
Perl でしたら HTML::Template モジュール があります。 原理的にはテンプレートHTMLに特殊な記号を埋め込みその部分をPerl側で変換して表示します。 簡単に自前で実装すると下記のような感じ --temp.html-- <html><head></head> <body> ここに変数1を表示 ==> __VAR1__ <br> ここに変数2を表示 ==> __VAR2__ <br> </body> </html> -- test.cgi -- #!/usr/bin/perl ($VAR1, $VAR2) = ('変数1の内容', '変数2の内容'); %temp = ('VAR1'=> $VAR1, 'VAR2'=> $VAR2); print "Content-Type: text/html\n\n"; open F,"<temp.html"; while (<F>){ s/__(.+?)__/$temp{$1}/g; #ここで変数の置き換え print; } close F; これをフォームメールに実装するにはフォームデータが渡ってきたときに 上記のようなかんじでHTMLを読み込んで変数展開するコードを組み込めばいいでしょう。 |
質問者 小野塚貴弘
[削除]
投稿日 10/20(月) 14:12:02
下記のようなCGIを作ってみましたが、サーバーエラーになってしまいます。 お手数ですが、どのようにしたら良いのか教えていただけませんでしょうか? ----------topic.html--------- <HTML> <BODY> <CENTER> <HR> __BACK__<BR> </CENTER> </BODY> </HTML> ----------topic.cgi--------- #!/usr/bin/perl #■トピックスファイル $tmp = 'topics.html'; #■携帯の戻り先URL $url = '../m/menu.html'; #↑↑↑↑↑↑↑↑設定はココまで↑↑↑↑↑↑↑↑ #----------------# # ブラウザ判別 # #----------------# $HTTP_USER_AGENT = $ENV{'HTTP_USER_AGENT'}; if ($HTTP_USER_AGENT =~ /DoCoMo/i) { &imode; } #imode用 elsif ($HTTP_USER_AGENT =~ /J-PHONE/i) { &jsky; } #jphone用 else { &pc; } #パソコン用 exit; #----------------# # 携帯表示部 # #----------------# sub imode{ print "Content-Type: text/html\n\n"; open F,"<$tmp"; print "<CENTER><A HREF=\"$URL\">戻る</A>\n"; } close F; } #----------------# # j-sky表示部 # #----------------# sub jsky{ print "Content-Type: text/html\n\n"; open F,"<$tmp"; print "<CENTER><A HREF=\"$URL\">戻る</A>\n"; } close F; } #----------------# # PC表示部 # #----------------# sub pc{ print "Content-type: text/html\n\n"; } |
このページは終了したので返信(回答)は書きこめません
Web裏技 |