$_SERVERとは
セッションを参照することでサーバからクライアント毎の情報を参照できる。
SERVER['DOCUMENT_ROOT'] のように要素指定で取得できる値が異なる。
主な要素
DOCUMENT_ROOT:ドキュメントルート。
PHP_SELF:実行中ファイルのパス。ドキュメントルートより下のパス。
HTTP_HOST:リクエストのホスト名(ローカル環境の場合、localhost)
※随時追記予定
実演
■セッションの仕組み
クライアント毎にIDが割り振られる。
IDを基にどのクライアントがどの情報を保持しているか判別する。
(実装レベルではID云々は意識する必要なし)
■PHPでのセッション情報取得方法
PHPでは$_SESSION変数を使用してクッキーの制御を行う。
セッションの開始は以下の通り。
session_start()
変数の参照方法は以下の通り。
$_SESSION[キー名]
変数の設定方法は以下の通り。
$_SESSION[キー名] = 値
セッションの破棄は以下の通り。
session_destroy();
実際の使い方は以下の例を参照。
【index.php】

<html>
<body>
<form method="GET" action="testSession.php">
<!-- テキストボックス -->
<input type="text" name="save"/>
<!-- 保存ボタン -->
<input type="submit" value="保存する"/>
</form>
<form method="GET" action="testSession2.php">
<!-- 破棄ボタン -->
<input type="submit" value="破棄する"/>
</form>
<?php
//セッション開始
session_start();
//セッションに保存した情報を表示する
if(@is_null($_SESSION['save'])) { //セッションに情報が無い場合
print "セッションには何も保存されていません";
} else { //セッションに情報がある場合
print "セッションには";
print $_SESSION['save'];
print "が保存されています。";
}
?>
</body>
</html>
テキストボックスに文字列を入れて「保存する」ボタンを押す。

【testSession.php】

<html>
<body>
<?php
//セッション開始
session_start();
//セッションに情報格納
$_SESSION['save'] = $_GET['save'];
print "セッションに情報を保存しました。";
?>
</body>
</html>
もう一度、index.phpを開くと・・・。

セッションに情報が格納されていることが確認出来る。
次に「破棄する」ボタンを押す。
【testSession2.php】

<html>
<body>
セッションを破棄しました。
<?php
session_start();
session_destroy(); //セッションの破棄
?>
</body>
</html>
もう一度、index.phpを開くと・・・。

セッションの情報が破棄されたことを確認できる。
※セッションの保存時間はphp.iniファイルの以下のパラメータで変更できる。(単位:秒)
session.gc_maxlifetime=1440
■セッションの破棄について
セッションを破棄する際の注意点としては、session_destroy関数のみではなく、$_SESSIONをnullにする必要がある。
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38