protected function chkLogined() { $sess = new PpSession($this->options['sessname'], $this->sessoption); if (!$sess->sessionExists()) { return false; } if (!$sess->start()) { // セッション開始とタイムアウトチェック $sess->endProc(); // セッション終了 return false; } $loggedin = $sess->get('loggedin'); if (empty($loggedin)) { $sess->endProc(); // セッション終了 return false; } $this->sessobj = $sess; // セッション処理オブジェクト return true; }
<?php //! セッション管理を行うサンプル proPHPトラベルツアー結果画面 require_once 'ppPage.php'; require_once 'ppSession.php'; // 回答データ $amsg = array('エラーです', '西表島ジャングルツアー', 'ボルネオ島鍾乳洞ツアー', '夏の熱海温泉ツアー', 'ボラボラ島リゾートツアー', '冬の八ヶ岳スキーツアー', 'スイス氷河特急ツアー', '紋別流氷ツアー', '南極クルーズツアー'); $ans = 0; // セッション管理クラス $sess = new PpSession('SESSQANDA'); if ($sess->sessionExists()) { $sess->start(); if ($_SERVER['REQUEST_METHOD'] === 'POST') { $ans = (int) $sess->get('ans'); if (isset($_POST['a1'])) { $ans |= 1 << 2; } if ($ans >= 0 && $ans <= 7) { $ans++; } } // セッション終了処理 $sess->endProc(); } // 画面表示処理 $dobj = new stdClass(); $dobj->ans = $amsg[$ans]; $dobj->ok = $ans ? true : false; $page = new PpPage(); $page->display('p16sessa.html', $dobj);
//! セッション管理を行うサンプル proPHPトラベルツアー質問画面処理 require_once 'ppPage.php'; require_once 'ppSession.php'; // 質問データ $qmsg = array(array('どこか遠くへ行きたい?', '遠くへ行きた~い', '近場がいいな~'), array('海と山どっちが好き?', '海が好き', '山が好き'), array('暑いのと寒いのとでは、どっちが苦手?', '暑いのは苦手', '寒いのは苦手')); $ans = 0; // 回答 $qno = 0; // 質問番号0~2 $qcnt = count($qmsg) - 1; // 質問数 // セッション管理クラス $sess = new PpSession('SESSQANDA'); if ($_SERVER['REQUEST_METHOD'] === 'POST') { $sess->start(); $ans = (int) $sess->get('ans'); $qno = (int) $sess->get('qno'); if ($qno >= 0 && $qno < $qcnt) { if (isset($_POST['a1'])) { $ans |= 1 << $qno; } $qno++; } $sess->set('ans', $ans); $sess->set('qno', $qno); } else { if ($sess->sessionExists()) { $sess->start(); $sess->endProc(); } }