カレッヂ |
質問者 caster
投稿日 10/19(金) 16:24:31
minibbs ver10.31で本文の後に Mozilla/4.0 (compatible; MSIE *.*; Windows **) と言う様な環境変数を表示させるにはどのようにしたら よいのでしょうか?初心者ですみません。 |
質問者 キャスター
[削除]
投稿日 10/22(月) 14:54:51
あのあと自分で色々調べて printo $Http_User_Agent = $ENV{'HTTP_USER_AGENT'}; と言う記述を468行目に追加したら 確かに本文の後に自分の環境変数が表示されるのですが、 過去のメッセージの本文の後にも自分の環境変数が表示されます。 訪問者の環境変数を常に残して行くにはどのようにしたら よいのでしょうか?どなたかご教授願います。 |
回答者 呑兵衛
[削除]
投稿日 10/24(水) 00:46:42
そこは、ファイルをHTMLにフォーマット出力する場所ですね。 だから常に、見ている方の $ENV{'HTTP_USER_AGENT'} が出てきます。 その110行後ぐらい、sub regist 内の $host = $ENV{'REMOTE_HOST'}; $addr = $ENV{'REMOTE_ADDR'}; if ($host eq '') { $host = $addr; } if ($host eq $addr) { $host = gethostbyaddr(pack('C4',split(/\./,$host)),2) || $addr; } # このあたりに $agent = $ENV{'HTTP_USER_AGENT'}; # 投稿文の最後をやたら改行する例があるので、 $FORM{'value'} =~ s/(( | )*\n+)+$//g; # 改行 ユーザエージェント を投稿文の最後に文字連結 $FORM{'value'} .= "\n$agent"; # 以上を挿入 &lock1; # と続く これでどうでしょう。 |
質問者 caster
[削除]
投稿日 10/25(木) 17:34:29
出張行ってて返事遅くなりました。 申し訳有りません。 今試してみたのですが、どうもうまくいきません。。。 どこか間違ってるのでしょうか? お教え下さい! $host = $ENV{'REMOTE_HOST'}; $addr = $ENV{'REMOTE_ADDR'}; if ($host eq '') { $host = $addr; } if ($host eq $addr) { $host = gethostbyaddr(pack('C4',split(/\./,$host)),2) || $addr; } $agent = $ENV{'HTTP_USER_AGENT'}; $FORM{'value'} =~ s/(( | )*\n+)+$//g; $FORM{'value'} .= "\n$agent"; &lock1; |
回答者 呑兵衛
[削除]
投稿日 10/25(木) 19:46:43
ついつい癖で改行コードを \n にしていました。 \n を \r に変えてください。 $agent = $ENV{'HTTP_USER_AGENT'}; $FORM{'value'} =~ s/(( | )*\r+)+$//g; $FORM{'value'} .= "\r\r$agent"; または $FORM{'value'} .= "\r\rAgent[ $agent ]"; |
質問者 caster
[削除]
投稿日 10/26(金) 12:01:45
呑兵衛様大変有り難う御座いました! $agent = $ENV{'HTTP_USER_AGENT'}; $FORM{'value'} =~ s/(( | )*\r+)+$//g; $FORM{'value'} .= "\r\r$agent"; で、無事表示することが出来ました! お世話になりました! |
このページは終了したので返信(回答)は書きこめません
Web裏技 |