![]() |
| カレッヂ |
質問者 小野塚貴弘
投稿日 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裏技 |