PHPでセッションを利用してみた
以前
クッキー、セッションについてまとめてみましたが、実装していなかったので
今回は例を用いて実装していこうと思います。
クッキーとセッションって何?[図あり]
画面
内容
■http://localhost/session/session1.php
・初回の場合「初回の訪問です。」表示。
・2回目以降「訪問回数」表示。
■http://localhost/session/session2.php
session1.phpの「ログアウトする」ボタンを押下すると表示。
セッションを削除します。
■http://localhost/session/session3.php
session2.phpの「ログアウトの確認」ボタンを押下すると表示。
現在のセッションの状態を確認できる。
実装
session1.php
<?php
session_start();
?>
<html>
<head>
<title>PHP TEST</title>
</head>
<body>
<?php
//東京の時刻に設定
date_default_timezone_set('Asia/Tokyo');
if (!isset($_SESSION["visited"])) {
print('初回の訪問です。セッションを開始します。');
//セッション変数は複数保存可能
$_SESSION["visited"] = 1;
$_SESSION["date"] = date('Y年m月d日 H時i分s秒');
} else {
$visited = $_SESSION["visited"];
$visited++;//更新するたびに訪問回数が増えるように
print('訪問回数は' . $_SESSION["visited"] . 'です。<br>');
$_SESSION["visited"] = $visited;
if (isset($_SESSION["date"])) {
print('前回の訪問日時は' . $_SESSION["date"] . 'です。<br>');
}
$_SESSION["date"] = date('Y年m月d日 H時i分s秒');
}
?>
<p>
<a href="./session2.php">ログアウトする</a>
</p>
</body>
</html>
session2.php
<?php
session_start();
?>
<html>
<head>
<title>PHP TEST</title>
</head>
<body>
<?php
print('セッション変数の一覧を表示します。<br>');
print_r($_SESSION);
print('<br>');
print('セッションIDを表示します。<br>');
//デフォルトでPHPSESSIDが表示
print($_COOKIE["PHPSESSID"] . '<br>');
print('<p>ログアウトします</p>');
//セッション変数を全て解除
$_SESSION = array();
if (isset($_COOKIE["PHPSESSID"])) {
setcookie("PHPSESSID", '', time() - 1800, '/');
}
//セッションを破棄する
session_destroy();
?>
<p>
<a href="./session3.php">ログアウトの確認</a>
</p>
</body>
</html>
session3.php
<?php
session_start();
?>
<html>
<head>
<title>PHP TEST</title>
</head>
<body>
<?php
print('セッション変数の確認をします。<br>');
if (!isset($_SESSION["visited"])) {
print('セッション変数visitedは登録されていません。<br>');
} else {
print($_SESSION["visited"] . '<br>');
}
print('セッションIDの確認をします。<br>');
if (!isset($_COOKIE["PHPSESSID"])) {
print('セッションは登録されていません。<br>');
} else {
print($_COOKIE["PHPSESSID"] . '<br>');
}
?>
<a href="./session1.php">ログインする</a>
</body>
</html>
<?php
session_start();
?>
<html>
<head>
<title>PHP TEST</title>
</head>
<body>
<?php
//東京の時刻に設定
date_default_timezone_set('Asia/Tokyo');
if (!isset($_SESSION["visited"])) {
print('初回の訪問です。セッションを開始します。');
//セッション変数は複数保存可能
$_SESSION["visited"] = 1;
$_SESSION["date"] = date('Y年m月d日 H時i分s秒');
} else {
$visited = $_SESSION["visited"];
$visited++;//更新するたびに訪問回数が増えるように
print('訪問回数は' . $_SESSION["visited"] . 'です。<br>');
$_SESSION["visited"] = $visited;
if (isset($_SESSION["date"])) {
print('前回の訪問日時は' . $_SESSION["date"] . 'です。<br>');
}
$_SESSION["date"] = date('Y年m月d日 H時i分s秒');
}
?>
<p>
<a href="./session2.php">ログアウトする</a>
</p>
</body>
</html>
<?php
session_start();
?>
<html>
<head>
<title>PHP TEST</title>
</head>
<body>
<?php
print('セッション変数の一覧を表示します。<br>');
print_r($_SESSION);
print('<br>');
print('セッションIDを表示します。<br>');
//デフォルトでPHPSESSIDが表示
print($_COOKIE["PHPSESSID"] . '<br>');
print('<p>ログアウトします</p>');
//セッション変数を全て解除
$_SESSION = array();
if (isset($_COOKIE["PHPSESSID"])) {
setcookie("PHPSESSID", '', time() - 1800, '/');
}
//セッションを破棄する
session_destroy();
?>
<p>
<a href="./session3.php">ログアウトの確認</a>
</p>
</body>
</html>
<?php
session_start();
?>
<html>
<head>
<title>PHP TEST</title>
</head>
<body>
<?php
print('セッション変数の確認をします。<br>');
if (!isset($_SESSION["visited"])) {
print('セッション変数visitedは登録されていません。<br>');
} else {
print($_SESSION["visited"] . '<br>');
}
print('セッションIDの確認をします。<br>');
if (!isset($_COOKIE["PHPSESSID"])) {
print('セッションは登録されていません。<br>');
} else {
print($_COOKIE["PHPSESSID"] . '<br>');
}
?>
<a href="./session1.php">ログインする</a>
</body>
</html>
Author And Source
この問題について(PHPでセッションを利用してみた), 我々は、より多くの情報をここで見つけました https://qiita.com/freelanceradiation/items/c79739668984f5a74509著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .