金魚屋簡易投票システム ver.1.2.0
金魚屋の車輪の再開発シリーズ。
修正時に分かりやすいように、HTML と設定、処理を別ファイルに分割。
Latest Version
HISTORY
1.2.0 2008-03-20
- 修正時に分かりやすいように、HTML と設定、処理を別ファイルに分割。
1.1.0 2008-03-11
- 割合を小数点の指定桁数で四捨五入して表示するよう修正。
1.0.1 2008-03-04
- Cookie 発行時に有効期限が正しく設定されないバグを修正
1.0.0 2008-03-03
- リリース
はじめに
「金魚屋簡易投票システム」とは
Web サイトによくある超単純な投票の機能を提供するシステムのこと。
投票データはCSV 形式で保存される。
クッキーを利用して連続投票を回避。
動作確認
- PHP Version 4.4.8
Archive Download
http://www.kingyoya.org/etudes/2008/SimpleVote/SimpleVote-1.2.0.zip
ファイル構成
- ./index.php
- ./initialize.php
- ./simplevote.php
- ./Kingyoya/SimpleVote.php
- ./data.csv
- ./error_log.txt
- ./lock.txt
./index.php
投票の結果表示と投票の受付をするCGI 。
利用する際にはここのHTML を修正する。
http://www.kingyoya.org/etudes/2008/SimpleVote/1.2.0/index.php.txt
./initialize.php
システムの動作設定ファイル。
環境や利用に合わせて値を修正する。
http://www.kingyoya.org/etudes/2008/SimpleVote/1.2.0/initialize.php.txt
./simplevote.php
システムの動作実行ファイル。
http://www.kingyoya.org/etudes/2008/SimpleVote/1.2.0/simplevote.php.txt
./Kingyoya/SimpleVote.php
投票の保存と読み出し解析をするクラスファイル。
http://www.kingyoya.org/etudes/2008/SimpleVote/1.2.0/Kingyoya/SimpleVote.php.txt
./error_log.txt
エラーのログが記録されるテキストファイル。
./lock.txt
同時実行制御のためのロックファイル。
CSV の形式
- 投票先
- 投票元IP アドレス
- 投票日時
使い方
- 公開したい場所に上記のファイルを配置する。
- CSV やクラスファイルなどを隠したければ、見えないところに置いてスクリプトの定義を修正する。
- CSV ファイルとログファイルの書き込み権限をWeb サーバユーザに付与する。
- 適宜HTML を修正する。
表示するHTML を変えたい
index.php の27 行目以降を修正する。
'hoge' の投票割合を少数点2桁までで表示したい。
表示したい場所に次のように書く。
<?php echo $votor->rate('hoge', 2); ?>
少数点3桁以下を四捨五入した割合が表示される。
ログファイルの場所や名称を変えたら
initialize.php の50 行目、定数 ERROR_LOG_FILE の値 "./error_log.txt" を変更する。
そもそもログ出力を制御したくない
initialize.php の50 行目の次の記述を削除するか、コメントアウトする。
define('ERROR_LOG_FILE', './error_log.txt');
ロックファイルの場所や名称を変えたら
initialize.php の33 行目、定数 LOCK_FILE の値 "./lock.txt" を変更する。
クラスファイルの場所を変えたら
initialize.php の48 行目、定数 CLASS_ROOT の値 "./Kingyoya" を変更する。