PHP セッション
<?php
# h()関数☆レシピ221☆(安全にブラウザで値を表示したい)を読み込みます☆レシピ041☆(他のファイルを取り込んで利用したい)。
require_once ‘../../../../lib/h.php’;
session_start();
?>
<!DOCTYPE html>
<html lang=”ja”>
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width,initial-scale=1.0″>
<title>セッション変数を使いたい</title>
</head>
<body>
<div>
<?php
if (! isset($_SESSION['visited'])) {
echo ‘初めての訪問です。今からセッションを開始します。’;
$_SESSION['visited'] = 1;
} else {
echo ‘訪問回数: ‘ . h(++$_SESSION['visited']) . ‘<br>’;
if (isset($_SESSION['date'])) {
echo ‘前回の訪問日時: ‘ . h($_SESSION['date']) . ‘<br>’;
}
}
$_SESSION['date'] = date(‘Y年m月d日 H時i分s秒’);
?>
</div>
</body>
</html>
<?php
# h()関数☆レシピ221☆(安全にブラウザで値を表示したい)を読み込みます☆レシピ041☆(他のファイルを取り込んで利用したい)。
require_once ‘../../../../lib/h.php’;
# セッションを開始します。
session_start();
# セッション変数を登録します。
$_SESSION['date'] = ’2013年06月23日 05時10分55秒’;
$_SESSION['user'] = ‘user’;
$_SESSION['sample'] = ‘PHP逆引きレシピ’;
# セッション変数を別の変数に保存しておきます。
$oldSession = $_SESSION;
# セッション変数はメモリ内に残っているので、セッション変数をarray()で要素数0の
# 配列として初期化します。
$_SESSION = array();
# セッションCookieも削除します。
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), ”, time() – 3600, ‘/’);
}
?>
<!DOCTYPE html>
<html lang=”ja”>
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width,initial-scale=1.0″>
<title>セッションを破棄したい</title>
</head>
<body>
<div>
<?php
echo ‘<p>破棄前のセッション情報:</p>’;
echo ‘<pre>’;
print_r(h($oldSession));
echo ‘</pre>’;
# セッションを破棄します。
session_destroy();
echo ‘<p>破棄後のセッション情報:</p>’;
echo ‘<pre>’;
print_r(h($_SESSION));
echo ‘</pre>’;
?>
</div>
</body>
</html>
<?php
# h()関数☆レシピ221☆(安全にブラウザで値を表示したい)を読み込みます☆レシピ041☆(他のファイルを取り込んで利用したい)。
require_once ‘../../../../lib/h.php’;
session_start();
?>
<!DOCTYPE html>
<html lang=”ja”>
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width,initial-scale=1.0″>
<title>現在のセッションIDを取得する</title>
</head>
<body>
<div>
<?php
echo ‘<p>現在のセッションIDは「’ . h(session_id()) . ‘」です。</p>’;
?>
</div>
</body>
</html>
<?php
# h()関数☆レシピ221☆(安全にブラウザで値を表示したい)を読み込みます☆レシピ041☆(他のファイルを取り込んで利用したい)。
require_once ‘../../../../lib/h.php’;
# セッション名をSHOEISHAに設定します。戻り値は変更前のセッション名です。
$oldSessionName = session_name(‘SHOEISHA’);
session_start();
?>
<!DOCTYPE html>
<html lang=”ja”>
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width,initial-scale=1.0″>
<title>セッション名を取得/設定したい</title>
</head>
<body>
<div>
<?php
echo ‘<p>標準のセッション名は、’ . h($oldSessionName) . ‘です。</p>’;
echo ‘<p>独自のセッション名は、’ . h(session_name()) . ‘です。</p>’;
?>
</div>
</body>
</html>
<?php
# h()関数☆レシピ221☆(安全にブラウザで値を表示したい)を読み込みます☆レシピ041☆(他のファイルを取り込んで利用したい)。
require_once ‘../../../../lib/h.php’;
# セッションCookieのパラメータを設定します。
session_set_cookie_params(0, ‘/’, ‘www.example.jp’);
# セッションを開始します。
session_start();
?>
<!DOCTYPE html>
<html lang=”ja”>
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width,initial-scale=1.0″>
<title>セッションCookieのパラメータを設定したい</title>
</head>
<body>
<div>
<?php
echo ‘<p>現在のセッションCookieの設定内容</p>’;
echo ‘<pre>’;
print_r(h(session_get_cookie_params()));
echo ‘</pre>’;
?>
</div>
</body>
</html>
<?php
# h()関数☆レシピ221☆(安全にブラウザで値を表示したい)を読み込みます☆レシピ041☆(他のファイルを取り込んで利用したい)。
require_once ‘../../../../lib/h.php’;
# セッションを開始します。
session_start();
?>
<!DOCTYPE html>
<html lang=”ja”>
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width,initial-scale=1.0″>
<title>セッションを使いたい</title>
</head>
<body>
<div>
<?php
if (! isset($_SESSION['count'])) {
// 初めてのアクセス
$_SESSION['count'] = 1;
} else {
// 2回目以降のアクセス
$_SESSION['count']++;
}
echo ‘あなたのアクセス回数:’ . h($_SESSION['count']);
?>
</div>
</body>
</html>
<?php
# h()関数☆レシピ221☆(安全にブラウザで値を表示したい)を読み込みます☆レシピ041☆(他のファイルを取り込んで利用したい)。
require_once ‘../../../../lib/h.php’;
session_start();
?>
<!DOCTYPE html>
<html lang=”ja”>
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width,initial-scale=1.0″>
<title>セッション変数を破棄したい</title>
<link href=”../../css/style.css” rel=”stylesheet”>
</head>
<body>
<div>
<?php
$_SESSION['user'] = ‘user’;
$_SESSION['name'] = ‘name’;
echo ‘<table>’;
echo ‘<tr><td>元のセッション変数</td><td><pre>’;
print_r(h($_SESSION));
echo ‘</pre></td></tr>’;
echo ‘<tr><td>nameに配列をセット</td><td><pre>’;
$_SESSION['name'] = array(‘PHP逆引きレシピ’, ‘CodeIgniter徹底入門’);
print_r(h($_SESSION));
echo ‘</pre></td></tr>’;
echo “<tr><td>userに「”」空をセット</td><td><pre>”;
$_SESSION['user'] = ”;
print_r(h($_SESSION));
echo ‘</pre></td></tr>’;
echo ‘<tr><td>nameを破棄</td><td><pre>’;
unset($_SESSION['name']);
print_r(h($_SESSION));
echo ‘</pre></td></tr>’;
echo ‘</table>’;
?>
</div>
</body>
</html>