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

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

ICTリテラシー

無料レンタルサーバーとDokuWiki で作る自分用情報サイト

本サイトに パソコン内に自分専用の情報データベースをつくる というページがあります。詳細はリンク先を見て頂くとして、本ページではこれに関連して、「自分専用の情報サイトを作る」ためのオススメの方法につい …

DokuWiki

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

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

Web

AMP for WordPress プラグインを使って WordPressサイトをAMP対応する手順

目次1. AMP とは?なぜ、AMP が必要なのか?AMP フレームワーク1. AMP HTML2. AMP JS3. AMP キャッシュその他2. AMP for WordPress プラグインにつ …

Google

【Google】アカウント無効化管理ツールの設定

Google の「アカウント無効化管理ツール」について説明します。

CSS

【CSS】kbd 要素には “white-space: nowrap” を指定しましょう

kbd 要素に何も指定しないと、以下のように途中で改行されてしまうことがあります。 before 通常の状態 これを避けるために、kbd 要素に対して “white-space: nowr …