CakePHPでアクセスカウンタをつくってみた。
よくわからないけど,とにかく簡単につくってみた。
■機能
- アクセス数をカウントする。
- アクセス数はDBに保存。
- キリ番の判定を行い,取得下人を登録する。
■DB
テーブル:counts
フィールド:
- id :primary integer
- count :int
- name :varchar(50)
- day :datetime
- comment :varchar(255)
■コード
// アクセスカウンタの更新処理
$count = 0;
$query = array(
'order'=>'Count.count DESC',
);
$cnt =$this->Count->find('first', $query);
if($cnt){
$count = $cnt['Count']['count'];
}
if($this->Cookie->read('count') != 'checked''){
$this->Cookie->write('count', 'cheched');
$count = $count + 1;
// キリ番判定
if((ereg("00$", $count))
||(ereg('^1{2,}$', $count))
||(ereg('^2{2,}$', $count))
||(ereg('^3{2,}$', $count))
||(ereg('^4{2,}$', $count))
||(ereg('^5{2,}$', $count))
||(ereg('^6{2,}$', $count))
||(ereg('^7{2,}$', $count))
||(ereg('^8{2,}$', $count))
||(ereg('^9{2,}$', $count))
){ // 100単位 or ぞろ目
$this->redirect('キリ番登録先');
}
$this->data['Count']['count'] = $count;
$this->Count->save($this->data);
}
$this->set('count', $count); // viewにカウント数をセット