• ベストアンサー

フォームメール(iモード用)で、メールに発信元のページのURL情報を自動的に添付する方法はありますでしょうか。

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

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

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

こんな感じです。 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"; 細かい事は書籍等でお調べ下さい。

oomiyaji
質問者

お礼

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

その他の回答 (3)

回答No.3

CGIはどこまで理解されているでしょうか? 参考までに http://tohoho.wakusei.ne.jp/wwwcgi.htm http://www.rfs.co.jp/sitebuilder/perl/

oomiyaji
質問者

お礼

ご連絡いただき真に有難うございます(また、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を利用させていただくことは可能でしょうか。大変恐縮ですがもしも可能でしたらご教授いただけると大変ありがたく存じます。再三にわたり真に申し訳ありませんが、失礼をお許しください。

oomiyaji
質問者

補足

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

回答No.2

フォームを表示するページ自体をCGIなどで記述する事で可能となります。 CGIの環境変数”SCRIPT_FILENAME”で、現在実行(表示)しているファイルの名前をえる事が出来るので、 $fname = $ENV{'SCRIPT_FILENAME'}; print "<INPUT TYPE=\"HIDDEN\" NAME=\"URL\" VALUE=\"$fname\">\n"; とすれば、実現できます。

oomiyaji
質問者

お礼

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

  • MarrowG
  • ベストアンサー率53% (41/76)
回答No.1

メールというのが何を意味しているのかよくわかりませんが、フォームから送信されるデータだと解釈します。 iモードで出来るかどうかわかりませんし、またサーバー側の設定にもよりますが、CGIでHTTP_REFERER環境変数に送信元フォームのURLが取得できると思います。

oomiyaji
質問者

お礼

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

関連するQ&A