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();
}
?>