データベースコンテナの使用法
データベースコンテナの使用法 –
HTTP_Session2 でセッションデータをデータベースに保存する方法
概要
HTTP_Session を使用すると、
セッションのデータをデータベースに保存することができます。
これは、DB や MDB2
パッケージを使用して行います。
例
MDB2 によるセッションデータのデータベースへの保存
<?php
/* 以下のテーブルをデータベースに作成します
CREATE TABLE sessiondata (
id varchar(32) NOT NULL,
expiry int(10),
data text,
PRIMARY KEY (id)
);
*/
require_once 'HTTP/Session2.php';
HTTP_Session2::useTransSID(false);
HTTP_Session2::useCookies(false);
// DSN を指定します
HTTP_Session2::setContainer('MDB2',
array('dsn' => 'mysql://root:password@localhost/database',
'table' => 'sessiondata'));
/*
// 既存の MDB2 接続を使用する場合
HTTP_Session2::setContainer('MDB2',
array('dsn' => &$db, 'table' => 'sessiondata'));
*/
HTTP_Session2::start('s');
HTTP_Session2::setExpire(time() + 60); // 有効期限を 60 秒とします
HTTP_Session2::setIdle(time() + 5); // アイドル時間を 5 秒とします
if (HTTP_Session2::isExpired()) {
HTTP_Session2::destroy();
}
if (HTTP_Session2::isIdle()) {
HTTP_Session2::destroy();
}
HTTP_Session2::updateIdle();
?>