2009年01月24日

cakePHPでアクセスカウンターを作る

googleから"cakePHP アクセスカウンター"で来てる方がぼちぼちいらっしゃるので今日はその記事を。

カウンターをcakePHPであえてやるのならこの流れかな?
今思いついた流れを書きます。

1.mysqlにvisitorsテーブルを作成する。フィールドはid,created,modified,count(int)のみでオッケー
そして一個データを入れとく。id=1,count=0ぐらいかな。



2.
visitor.phpを適切に作る



3.トップページを表示してるコントローラに(たとえばここではarticles_controller.phpとする)
var $uses = array('Article','Visitor');と宣言する。
これまで自動的に使えてたArticleモデルも書かないと動かなくなっちゃうので注意。
要するにarticleコントローラでもVisitorモデルを使いたいよって言う宣言。



4.アクセスをカウントしたいfunction(たとえばindexとか)にデータベースからid=1の情報とってきて
その値を+1して保存するコードを書けばオッケー。
findbyidが使えば行けそう。



5.同一人物の二重カウントがいやならクッキーを有効時間24時間ぐらいに設定して食わせたらいいよね。クッキーはCookieコンポーネントがあるから、簡単に食わすことができます。

とりあえずサンプルコードじゃなくて流れだけで・・
欲しいといってくれる方がいればコード書きます。

いるかな?

自分が見るアクセスカウンタなら自作も楽しいけど
高機能、無料、無広告と三拍子そろったgoogle analytics入れてもいいかもしれませんね、


タグ :cakePHP


この記事へのコメント
是非コード書いてください。
Posted by jin at 2011年08月06日 19:30
IPじゃなくてCookieで判断して大丈夫ですか?
是非コードをください。お願い致します。
Posted by 太郎 at 2015年10月29日 20:14
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。