#!/usr/bin/perl require './jcode.pl'; # for URLデコード # # # # Read Cookie *************************************************## Cookieの内容を読込む # $cv = $ENV{'HTTP_COOKIE'}; # (あなたの)環境変数, クッキーの内容を変数に読込む # $cv =~ tr/+/ /; # URLデコード # $cv =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack ("C", hex($1))/eg; # URLデコード # # # ($cname, $curl, $cmssid) = split (/&/, $cv); # クッキーの内容を各変数に格納 # # # if( (index( $curl, 'http://' )) < 0 ) # 入力文字列が"http://"以外で始まるかどうか # { # 入力文字列が"http://"以外で始まる場合 # $curl = 'http://'; # デフォルトで"http://" # } # # # # unless( defined $cmssid || $cmssid ne "" ) # 入力IDが未定義または空白かどうか # { # 入力IDが未定義または空白の場合 # $cmssid = 1; # デフォルトで"1" # } # # #/Read Cookie *************************************************## # # Read Log ****************************************************## ログファイルを読込む # open( LOGR, "<./guestlog.txt" ) # ログファイルをオープン # or print "Location: http://bj006.com/cgi/error0.htm"."\n\n"; # 失敗したら、エラーページ0へジャンプ # flock( LOGR, 1 ) # 共有ロック # or print "Location: http://bj006.com/cgi/error0.htm"."\n\n"; # 失敗したら、エラーページ0へジャンプ # @reada = ; # ログファイルの内容を行ごとに配列に格納 # close LOGR; # ファイルクローズ # #/Read Log ****************************************************## # # HTML Front **************************************************## HTML前半部出力 # print 'Content-type: text/html'."\n\n"; # HTML出力 # # # print < guestbook

bj006.com Guestbook - 掲示板

Name:
Subject:
Message:
URL:
ID: (input 1-1024)

-HOME- この掲示板についての説明

HF #/HTML Front **************************************************## # # Query *******************************************************## クエリ判定部 # unless( defined $ENV{'QUERY_STRING'} ) # クエリがないかどうか # { # クエリがない場合 # $page = 0; # 最新ページを表示 # } # # else # クエリがある場合 # { # # ($qkey, $page) = split( /=/, $ENV{'QUERY_STRING'} ); # クエリを取得 # } # # #/Query *******************************************************## # # HTML Log ****************************************************## HTML出力 ログ部 # my $cnt = @reada; # 書込み件数取得 # my $n = 0; # ページ毎出力件数カウント用 # my $no = ($cnt - 10 * $page); # ログ番号 *書き込みを新しい順に表示* # while( $no > 0 && $n < 10 ) # ログ出力は1ページ10件、途中ログがなくなれば終了 # { # # ($name, $subject, $message, $url, $mssid, $time, $ipaddr, $host) # ログの内容を各変数に格納 # = split( /,/, $reada[$no - 1] ); # *書き込みを新しい順に表示* # $n++; # 出力件数カウントアップ # # # print < '."\n"; # HTML出力 # #/Log Process *************************************************## # print < END #/HTML Log ****************************************************## # exit;
No.$no $name ($mssid) "$subject" $url $time
$message
HL $no--; # ログ番号カウントダウン *書き込みを新しい順に表示*# } # # # Log Process *************************************************## 過去ログページへのリンク出力 # print <
[NEWEST] Log → LOG # # $page = 1; # 全ログ表示に必要なページ数 == ページ番号 # while( ($cnt - $page * 10) > 0 ) # より古いログが存在する # { # # print '['. # # "$page". # ぺージ番号を表示に # '] '; # HTML出力終了 過去ログへのリンク部 # $page++; # ページ番号カウントアップ # } # # print '
Copyright © 2005-2007 baje, All rights reserved.