プロが教える店舗&オフィスのセキュリティ対策術

フォームを多数のページに貼り付けて使用したいと思っております。そして送信先で、それぞれのメールがどのページから発信されたものか確認したいと考えております。フォームをページに貼り付けるだけで(そのページのURLをいちいちソースに記載しなくても)そのURLが自動的にメールに添付記載されるような方法はありますでしょうか。iモード用HPなのでJavaScriptなどは利用できません。ご存知の方がいらっしゃいましたらご教授いただけると大変ありがたいです。よろしくお願いいたします。

A 回答 (4件)

メールというのが何を意味しているのかよくわかりませんが、フォームから送信されるデータだと解釈します。


iモードで出来るかどうかわかりませんし、またサーバー側の設定にもよりますが、CGIでHTTP_REFERER環境変数に送信元フォームのURLが取得できると思います。
    • good
    • 0
この回答へのお礼

投稿は初めてなのですが、思いのほか早くご教授いただき、驚きと共に大変感謝しております。CGI初心者のため、教えていただきましたHTTP_REFERERを実際に使用できるか若干の不安もございますが、がんばってみたいと思います(もしもサンプルなどご存知でしたら、教えていただけると大変ありがたいです)本当に有難うございました。

お礼日時:2001/12/11 20:31

フォームを表示するページ自体をCGIなどで記述する事で可能となります。


CGIの環境変数”SCRIPT_FILENAME”で、現在実行(表示)しているファイルの名前をえる事が出来るので、


$fname = $ENV{'SCRIPT_FILENAME'};
print "<INPUT TYPE=\"HIDDEN\" NAME=\"URL\" VALUE=\"$fname\">\n";

とすれば、実現できます。
    • good
    • 0
この回答へのお礼

投稿は初めてなのですが、とても丁寧にご教授いただき、驚きと共に大変感謝しております。ところで実は、大変恐縮なのですが、頂きましたアドバイスを元に、詳細を調べようと努力してはみたのですが、当方の勉強不足により、なかなか思うように進みません。つきましては「フォームを表示するページ自体をCGIなどで記述する」方法につきましてなにか参考になるサンプルなどをご存知でしたら教えていただけないでしょうか。(基本的なことかもしれず大変恐縮ですが・・、またお忙しいところすみませんが)もしも可能でしたらお願い申し上げます。

お礼日時:2001/12/11 23:54

CGIはどこまで理解されているでしょうか?



参考までに

http://tohoho.wakusei.ne.jp/wwwcgi.htm
http://www.rfs.co.jp/sitebuilder/perl/

この回答への補足

誤字脱字、申し訳ありませんでした。
ありがとうございます。添付いただいたURLにて、勉強させて頂いております。

補足日時:2001/12/13 02:36
    • good
    • 0
この回答へのお礼

ご連絡いただき真に有難うございます(また、URLを添付していただき有難うございました。)当方、恥ずかしながら既存のサンプルCGIを一部改変して使わせていただく程度の知識しかございません。
例えば現在しているフォームは

&ReadParse(*in);

$subject = "$in{'subject'}";
$to = '**@**.com';

#送信前処理
&jcode'convert(*subject,'jis');

# 送信処理
open(MAIL, "| /usr/sbin/sendmail -t");
print MAIL "To: $to\n";
print MAIL "Subject: $subject\n";
print MAIL "Content-Type: text/plain;\n\n";
close(MAIL);

print "Content-type: text/html\n\n";
print "<HTML><BODY>クリックしてください\n";
print "<HR><A HREF=***>****</A>\n";
print "</BODY></HTML>\n";
exit;

といった簡単なものなのですが、例えばこのようなフォームで(先刻教えていただきました)SCRIPT_FILENAMEを利用させていただくことは可能でしょうか。大変恐縮ですがもしも可能でしたらご教授いただけると大変ありがたく存じます。再三にわたり真に申し訳ありませんが、失礼をお許しください。

お礼日時:2001/12/12 19:46

こんな感じです。



print "Content-type: text/html\n\n";
print "<HTML><BODY>";
$fname = $ENV{'SCRIPT_FILENAME'};
print "<FORM METHOD=\"GET\" ACTION=\"get.cgi\">";
print "<INPUT TYPE=\"HIDDEN\" NAME=\"URL\" VALUE=\"$fname\">\n";
print "<INPUT TYPE=\"SUBMIT\" VALUE=\"送信\">";
print "</FORM>";
print "</BODY></HTML>\n";

細かい事は書籍等でお調べ下さい。
    • good
    • 0
この回答へのお礼

本当に助かりました。繰り返しご教授いただき、大変感謝しております。有難うございました。

お礼日時:2001/12/15 01:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!