Web

PHP + SQLite を利用してアクセスカウンターを作る

投稿日:2020年3月17日 更新日:

1. はじめに

PHP と SQLite を利用してアクセスカウンターを作ります。

こんなウェブページです。

  • カウントした値を SQLite のデータベースファイルに保存する。
  • PHP によってデータベースを操作し、カウント数を1増やす。また、現在のカウント数を取得して画面に表示する。

2. ファイル構成

ファイルは2つあるだけです。

ディレクトリ
  ├─ index.php (ディレクトリにアクセスするとこのファイルが実行されます)
  └─ db.db (SQLite のデータベースファイル)

3. SQLite のデータベースを用意する

以下のコマンドを実行して、SQLite のデータベース・テーブル・データを作成します。

$ sqlite3 db.db
sqlite> CREATE TABLE tbl1(id INTEGER PRIMARY KEY, count INTEGER);
sqlite> INSERT INTO tbl1 values(0, 0);

以下のテーブルとデータが生成されます。

テーブル tbl1
id count
0 0

4. PHPのコード

PHPのコードの中でポイントとなる部分を抜粋します。

$db = new SQLite3('db.db');

//--------------------------------
// カウンターをインクリメントする
//--------------------------------
$stmt = $db->prepare('
  UPDATE tbl1
  SET count = count + 1
  WHERE id = 0'
);
$result = $stmt->execute();

//--------------------------------
// カウンター値を取得する
//--------------------------------
$stmt = $db->prepare('
  SELECT count
  FROM tbl1
  WHERE id=0'
);
$result = $stmt->execute();
$arr = $result->fetchArray();
$count = $arr['count'];

5. デモページ

デモページを作成しました。

6. おわりに

カウント数をテキストファイルに保存して利用する方法も考えられます。実際に昔よくありました。しかし、SQLite のデータベースを使えば、操作ミスなどにより値が書き換わってしまう不安感はかなり低くなります。 ファイルサイズはさすがにテキストファイルより大きくなりますが、それでも今回の場合だと 2.0Kバイトくらいです。お勧めです。

SQLite

PHP から SQLite を使う手順

2020.03.17

📂-Web

執筆者:labo


comment

メールアドレスが公開されることはありません。

関連記事

Web

ウェブ上の「名前を付けて画像を保存」ができない画像をダウンロードする方法

目次1. 「名前を付けて画像を保存」ができない画像2. この手の画像を保存する方法3. おわりに4. Chrome のデベロッパーツールを使った別の方法(追加:2021-08-04) 1. 「名前を付 …

DokuWiki

DokuWiki のアクセス設定チェックが面白い

目次1. It seems your data directory is not properly secured.2. 対応方法3. 珍しいアクセスチェックの仕組み4. おわりに 1. It see …

Google App Engine

Google App Engine にデプロイしてあるファイルをダウンロードする

Google App Engine にデプロイしてあるファイルをダウンロードする方法について説明します。

DokuWiki

DokuWiki で閲覧専用ユーザーを作る手順

DokuWiki において、閲覧専用ユーザーを作成する手順を紹介します。 目次DokuWiki で、閲覧専用ユーザーを作成する手順1. 閲覧専用グループを追加する。2. ユーザーにグループを指定するお …

Web

複数のGoogleアカウントのGmailページを一括で開く

複数のGmailアカウントのメールページを一括で開く方法について書いています。