99.11.投票掲示板(Vote)
いわゆる掲示板ですが,タイトルをカテゴリとして単一スレッドで表示するスクリプトです。
URLの最後に「?」を付けると,キャッシュをある程度,防止できます
99.11.1.主な特徴
機能 | 引数:act | no | pw |
---|---|---|---|
集計画面 | i | ||
タイトルの全記事を表示 | d | ◎ | |
書き込み処理 | p | 自動生成 | |
最新の投稿記事の表示 | n | ||
管理者モード(記事削除のみ) | e | ◎ | ◎ |
act省略時は,iが既定値 ◎は引数が必要です
引数は特に考えなくても,プログラムの方で自動的に作ります
99.11.3.管理ファイルの内容
始めの一行目が管理用のヘッダで,二行目以降は記事の本文です
管理用ヘッダ タイトル番号<書き込み日時<投票者名<メールアドレス<IP情報<Proxy情報<LF>
書き込み日時は,perlのtime関数値です。9桁の数値で,年月日や時分秒や曜日などが復元できます
vote.txt 投票掲示板 Vote.pl
をダウンロード後に,自分の環境に合わせて修正して下さい。
主な修正箇所はベースになるURLのパスとファイル名です。
$base = 'http://www.hogehoge.ne.jp/~foo/'; #ベースになるURL $pg = 'vote.cgi'; #このスクリプト名 $cfile1 = '../bbs/vcnt1.txt'; #「タイトル番号」管理ファイル $cfile2 = '../bbs/vcnt2.txt'; #「記事番号」 〃 $ifile1 = '../bbs/vidx1.txt'; #「タイトル名称&投票数」管理ファイル $ifile2 = '../bbs/vidx2.txt'; #「記事一覧」 〃 $dfile = '../bbs/'; #記事ファイルの格納されるディレクトリ $pwd = 'xyz'; # 管理者パスワード<要変更 $max = 12; # 1ページ当たりの表示記事数 $mmax = 400; # 記事の内容の最大入力文字数。半角換算で改行(LF),半角/全角空白は除いた文字数 $cmax = 20; # 最新の投稿記事の表示数 /home/foo/ I I-- cgi-bin/ I I-- vote.cgi スクリプト本体 I +-- jcode.pl 日本語コード変換フリーウエア I I-- bbs/ I-- vcnt1.txt 投稿時に自動更新(あらかじめ用意できる) I-- vidx1.txt 投稿時に自動更新( 〃 ) I-- vcnt2.txt 投稿時に自動更新 I-- vidx2.txt 投稿時に自動更新 +-- 001.txt 〜 999.txt 投稿時に自動生成
修正したスクリプトをftpで/home/foo/(任意)ディレクトリへ転送します
kibita(*)cd /home/foo/cgi-bin
kibita(*)put vote.txt vote.cgi
kibita(*)quote site chmod 705 vote.cgi
kibita(*)cd ..
kibita(*)mkdir bbs
kibita(*)quote site chmod 706 bbs
kibita(*)cd /home/foo/bbs
kibita(*)touch vcnt1.txt
kibita(*)quote site chmod 606 vcnt1.txt
kibita(*)touch vidx1.txt
kibita(*)quote site chmod 606 vidx1.txt
kibita(*)touch vcnt2.txt
kibita(*)quote site chmod 606 vcnt2.txt
kibita(*)touch vidx2.txt
kibita(*)quote site chmod 606 vidx2.txt
99.11.5.管理者モード
記事を,ひとつずつ削除します。
各記事のコメントの最後にフッタ,ex.「(12/14<Tue>06:00 [xx] *.123.*.456)」があります。
[xx]の xx が記事番号ですので,管理用の左枠にパスワード,右枠に記事番号を入力して,[※]ボタンを押します
実際には,消されたファイルは「記事番号x.txt」として,リネームされています
99.11.6.ファイル中の漢字コードの扱い
本スクリプトは,ファイル中で使用されている漢字のコードがsjisコードです。
sjisでないと管理用ヘッダで,<を区切りとして使用できません。
$value =~ s/</</g;
$value =~ s/>/>/g;
の行を削除すれば,本文中でタグが利用できます。
Copyright (c)1999 GOMASUKE
Since 12/14/1999, Last Updated 12/14/1999