トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

セッション管理_XOOPS

セッション管理

XOOPSにてセッションを管理する場合は、ほとんどはPHPでセッションを管理するのと同じです。

唯一違うのが、「session_start();」「session_destroy();」を呼ばなくてもよい、という部分です。XOOPSはログインした段階でセッションが使える準備を行い、ログアウトしたときには自動でセッションを開放してくれているようです。

ボタンを押すと、画面に表示されている数値がカウントアップするサンプルのソースです。一度XOOPSをログアウトすると、カウンタは1から開始されます。

<?php
    // ヘッダファイルの参照
    require('header.php');

    // テンプレートの設定
    $xoopsOption['template_main'] = 'sessioncountermodule_view.html';

    // XOOPSヘッダの設定
    include(XOOPS_ROOT_PATH.'/header.php');

    // セッションのカウントアップ
    if(!isset($_SESSION['count'])) {
        $_SESSION['count'] = 1;
    } else {
        $_SESSION['count']++;
    }

    // テンプレートにデータを設定する
    $xoopsTpl->assign('lang_title', _MD_TITLE);
    $xoopsTpl->assign('lang_count', _MD_COUNT);
    $xoopsTpl->assign('lang_count_but', _MD_COUNT_BUT);
    $xoopsTpl->assign('count', $_SESSION['count']);

    // XOOPSフッタの設定
    include(XOOPS_ROOT_PATH.'/footer.php');
?>

このように、「$_SESSION['count']」としてセッションを使うことができます。特に他のセッション関数などは使う必要はありません。

指定のセッション情報(変数・クラス)を開放する場合は、

unset($_SESSION['count']);

のように行うとよいです。

サンプルモジュールのダウンロード

上記のセッションを使用したカウンタのサンプル「SessionCounterModule」を置いておきました。参考までにご利用くださいませ。

xoops_SessionCounterModule_20051109.zip(190)

Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.