目次
はじめに
複数ページをまたいでフォーム入力やパラメータを維持したい場合、セッションを利用するのが最もシンプルです。
この記事では、PHPの基本的なセッション管理から、実運用で役立つ注意点まで解説します。
セッション開始の基本コード
<?php
// セッション開始
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
// セッション変数の設定
$_SESSION['username'] = 'tanaka';
?>
別ページでの取得
<?php
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
if (isset($_SESSION['username'])) {
echo 'こんにちは、' . htmlspecialchars($_SESSION['username'], ENT_QUOTES, 'UTF-8');
} else {
echo 'ユーザー名が未設定です';
}
?>
セッション利用時の注意点
- session_start()は必ず最上部に記述(HTML出力より前)
- Cookie無効環境では動作に制限あり
- HTTPSサイトでは
session.cookie_secureの設定を推奨
応用例
- ログイン状態の維持
- ステップフォーム(入力確認ページ → 完了ページ)