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

Firefox で複数のプロファイルを使い分ける方法

目次1. Firefox のプロファイルについて2. プロファイルによって管理できるもの3. プロファイルの場所プロファイルの場所の確認方法4. プロファイルマネージャープロファイルマネージャーの起動 …

Chrome

Chrome 77 デベロッパーツールの新機能

目次1. はじめに2. 主な新機能要素のスタイルをコピーするレイアウトシフト (layouts shifts) を表示する使い方Audits パネルの Lighthouse 5.1[Performan …

Web

<pre><code>タグが引き起こす モバイルユーザビリティのエラー「コンテンツの幅が画面の幅を超えています」

<pre><code>タグが、モバイルユーザビリティのエラー「コンテンツの幅が画面の幅を超えています」を引き起こしていました。

Web

WordPressの記事ページ (それ以外でも多分OK) に、Google Charts を使って生成したグラフを表示する方法

目次1. はじめに2. やりたいこと3. やり方(1) Google Charts の JavaScript ファイルを読み込ませる(2) グラフを表示させたい箇所に div タグを記述する(3) グ …

Web

ウェブサイトを開いたら表示される「通知の表示」を求めるポップアップについて

ウェブサイトの「通知」機能について説明してます。