• ベストアンサー

メールフォームの訪問者情報取得について

ある会員専用サイトをつくってます。 こんな事を考えているのですが、うまく行きません。 (1)メールフォームから名前・メールアドレスを入力しを送信。 (2)送信を押すと名前・アドレスなどと一緒に以下の情報を取得 ●IPアドレス ※$ENV{'REMOTE_HOST'}) ●OS・ブラウザ情報※$ENV{'HTTP_USER_AGENT'} ●携帯識別番号(携帯会社別) (3)上記の情報より、 LパソコンでアクセスするとIPアドレスをチェックし会員を判別 L携帯電話からだと携帯識別番号で判別 といった仕組みをつくろうと思っています。 メールフォームは自力では無いですが、オープンソースを使用し作成しました。 ※Copyright (C) 1996-2005 杜甫々 様 とほほのWWW入門>メール送信フォーム より $ENV{●●●}を組み込めば入力情報と同時に取得できると思ったのですが、うまく取れません。 十分に理解せず他人様のソースを安易に利用しようとする私が悪い事は多分に承知しておりますが、何卒ご教授お願いします。 ---以下ソース--- #!/usr/local/bin/perl #セッティング require 'cgi-lib.pl'; require 'jcode.pl'; &ReadParse(*in); $name = "$in{'name'}"; $from = "$in{'from'}"; $subject = "$in{'subject'}"; $body = "$in{'body'}"; $to = '●●●@●●.ne.jp'; #送信前処理 &jcode'convert(*name,'jis'); &jcode'convert(*subject,'jis'); &jcode'convert(*body,'jis'); #sendmail open(MAIL, "| /usr/sbin/sendmail -t"); print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n"; print MAIL "Content-Type: text/plain;\n\n"; print MAIL "お名前:$name\n"; print MAIL "本文:$body\n"; close(MAIL); #HTML表示の前処理 &jcode'convert(*name,'sjis'); &jcode'convert(*subject,'sjis'); &jcode'convert(*body,'sjis'); $body =~ s/[\r\n,\n]/<BR>/g; #HTMLに表示 print "Content-type: text/html\n\n"; print "<HTML><BODY>\n"; print "以下のメールを送信しました<HR>"; print "お名前:$name\n<BR>"; print "メールアドレス:$from\n<BR>"; print "題目:$subject\n<BR>"; print "本文:$body\n<BR>"; print "</BODY></HTML>\n"; exit;

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

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

「うまく取れません」というのは、どういう取得方法を試されたんでしょう?ちょっと例示されたソースからは読み取れません。 こちら↓あたりを参考に、とりあえずメールに取得した情報を埋め込んでみてはどうでしょうか?   http://perl.misty.ne.jp/21.html ただ「IPアドレスで会員を判別」というのは、とても実用になるとは思えません。携帯の識別番号(これはキャリアのサイトに取得方法が記載されてますよね)は確実でしょうけど・・。

eliemylove
質問者

お礼

そうそうのご回答ありがとうございました。 >ちょっと例示されたソースからは読み取れません。 いろんなほうほうをためしたのですが、うまく行かないため素のまま乗せました。 >ただ「IPアドレスで会員を判別」というのは、とても実用になるとは思えません。 パソコンからのアクセスはIPアドレスは固定されてると思ったのですが、違うのでしょうか・・・ 恥ずかしいです・・・

その他の回答 (1)

回答No.2

本文を読んでません。 > ●IPアドレス ※$ENV{'REMOTE_HOST'}) IPアドレスはREMOTE_ADDRです。 REMOTE_HOSTはサーバー負荷の軽減のため、使えないようにしているホスティングサービスもあります。(空文字列になります) うまくとれないじゃなくて、 何がどううまく取れないか、どんな文字列が取れることを期待してどんな文字列を取れたのか、 という質問の仕方にすれば、より有益な回答が得られると思います。

関連するQ&A