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 Components

Web Components でスタイルシートを再利用する

Constructable Stylesheet Objects の使い方を説明します。

HTTPレスポンスヘッダとブラウザキャッシュの関係を調査

目次1. はじめに2. 使用したツールWebサーバー側クライアント側3. 使用する HTML (PHP) ファイル4. 実験パターン1HTML (PHP)のヘッダ出力部分1回目のアクセス2回目のアクセ …

Chrome

Chrome: ツールバー上の拡張機能アイコンをメニューに移動させる方法

Chromeで、ツールバー上の拡張機能アイコンをメニューに移動させる方法について説明します。

Glitch

Glitch に DokiWiki を設置しようとして失敗しました

Glitch に DokuWiki を設置しようとしたのですが、残念ながら失敗してしまいました。ここにその記録を残しておこうと思います。

Web

【HTML】img 要素の srcset 属性 と sizes 属性について

目次1. デバイスピクセル比2. img 要素の srcset 属性 と sizes 属性3. sizes 属性4. srcset 属性x 単位で画像ファイルのサイズを指定する場合w 単位で画像ファイ …