PHP で投票システム

PHP で投票システム
写真を選んで投票し
結果がグラフで見られるというものを作る
同じIP、同じブラウザでは1日1回までという制限をつける
これを作るには
html
css
jquery
php
mysql
google chart tools
これらを使う
使用する環境は、vmware player で作成した
ローカル開発環境の CentOS 6.4 64bit
PHPで作る投票システム (全13回)
http://dotinstall.com/lessons/poll_php_v2
を参考に作成していく
まずは必要となるDBの作成
#02 データベースの設定をしよう
http://dotinstall.com/lessons/poll_php_v2/9702
を参考にSQLファイルを作成する
まず、
mkdir /var/www/html/pol_php
でディレクトリを作成
ここにソースファイルをおく事にする
以下、SQLファイルの解説
create database dotinstall_poll_php;
でDB作成
grant all on dotinstall_poll_php.* to dbuser@localhost identified by ‘nk31gsfms’;

ユーザ名 dbuser
パスワード nk31gsfms
というユーザを作成して権限を与える
use dotinstall_poll_php
で使用するDBを指定
次にテーブルの作成
create table answers(
id int not null auto_*increment primary key,
answer varchar(255),
remote_addr varchar(255),
user_agent varchar(255),
answer_date date,
created datetime,
modified datetime,
unique unique_answer(remote_addr,user_agent,answer_date)
);
この意味は
id int not null auto_*increment primary key,
で自動連番の主キー作成
answer varchar(255),
は、あとでいろいろ拡張する
remote_addr varchar(255),
で、回答した人のIPアドレスが入る
user_agent varchar(255),
は、ブラウザの情報を格納する
answer_date date,
で回答した日
unique unique_answer(remote_addr,user_agent,answer_date)
は、重複して投票することがないように
uniqe_answer というキーを作っている
これに
remote_addr,user_agent,answer_date
というように複合キーにしておく
これらを元に
vim poll.sql
を作成して
create database dotinstall_poll_php;
grant all on dotinstall_poll_php.* to dbuser@localhost identified by ‘nk31gsfms’;
use dotinstall_poll_php
create table answers (
id int not null auto_increment primary key,
answer varchar(255),
remote_addr varchar(15),
user_agent varchar(255),
answer_date date,
created datetime,
modified datetime,
unique unique_answer(remote_addr, user_agent, answer_date)
);
として保存
ysql -u root -p < poll.sql でファイルを読み込んでDB作成 作成できているか確認するには mysql -u root -p でログインして show databases; でDB一覧を確認 use dotinstall_poll_php; でDBを選択して desc answers; で中身を確認することができる このように sql ファイルを作成し、 そこから読み込むようにすれば sql コマンドを打つ手間も省けるので 使いまわしとかもできる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です