1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
/** ------------------------------------------------------------------------
* セッションとクッキー関数:$_SESSIONの編集と処理遷移のセッション管理の例
* 2015.08.25 作成 yoshi of CXMedia Inc.
* ------------------------------------------------------------------------- */
// セッション開始
session_start();
// セッション開始後にheader関数(HTML)を実行
header("Content-type:text/html; charset=UTF-8");
// セッションデータにこのプログラム名を追加
// $_SERVER['PHP_SELF']の'PHP_SELF'は、予約名で自分自身のプログラムパスのセットされている
$_SESSION['upd_prg'] = $_SERVER['PHP_SELF'];
// 訪問日、時刻のセット
$_SESSION["upd_date"] = date('Y-m-d H:i:s');
// セッションIDと訪問日の表示
echo "■session-id(session_id取得)→".session_id()."<br>";
echo "■訪問日→".$_SESSION["upd_date"]."<br>";
// 訪問回数の判断
if ( !isset($_SESSION["visited"]) ){
// 初回の訪問のセット
$_SESSION["visited"] = 1;
} else {
// 次回以降の訪問回数のカウントアップ
$_SESSION["visited"]++;
}
echo "訪問回数:",$_SESSION["visited"],"<br>";
// 4回以上でセッション管理終了
if($_SESSION["visited"] <=3){
// リトライ回数のリンクタグ設定
$prg = $_SESSION['upd_prg'];
echo '<a href="'.$prg.'">RETRY</a>';
} else {
echo "セッション管理終了";
// sessionデータの明示的消去
// (注)特定のキー('xxx')だけの破棄は、unset($_SESSION['xxx']); を記述する
$_SESSION = array();
// session破棄
session_destroy();
}
?>