電子書籍の厳選無料作品が豊富!

ある会員専用サイトをつくってます。
こんな事を考えているのですが、うまく行きません。
(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;

A 回答 (2件)

「うまく取れません」というのは、どういう取得方法を試されたんでしょう?ちょっと例示されたソースからは読み取れません。



こちら↓あたりを参考に、とりあえずメールに取得した情報を埋め込んでみてはどうでしょうか?

  http://perl.misty.ne.jp/21.html

ただ「IPアドレスで会員を判別」というのは、とても実用になるとは思えません。携帯の識別番号(これはキャリアのサイトに取得方法が記載されてますよね)は確実でしょうけど・・。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/04/08 23:20

本文を読んでません。



> ●IPアドレス ※$ENV{'REMOTE_HOST'})

IPアドレスはREMOTE_ADDRです。
REMOTE_HOSTはサーバー負荷の軽減のため、使えないようにしているホスティングサービスもあります。(空文字列になります)

うまくとれないじゃなくて、
何がどううまく取れないか、どんな文字列が取れることを期待してどんな文字列を取れたのか、
という質問の仕方にすれば、より有益な回答が得られると思います。
    • good
    • 0

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