PHP

セッション(Session)の利用 - PHP利用

2021年4月25日

PHP の変数はページがリロードされると、値はクリアされてしまいます。

PHP のセッションを使うって、セッション変数の中にデータを入れることで
ブラウザのページを更新しても、他のページに移動してもデータを保持することができます。

ここでは、PHP におけるセッションの利用についてまとめています。

 

セッションとは

セッションとは、1人のユーザがページを移動している間、
そのユーザのアクセス情報をユーザごとに保存したまま移動できる仕組みです。

セッションはユーザのアクセスごとに「セッションID」を作り、
その ID ごとに情報をサーバに保存しています。

セッションID は、ユーザのクッキーや、リンク、ポストされる URL に付加されて
ページを移動しても引き継げるようになっています。

参考

クッキーについては「Cookie の利用」にまとめています。

 

セッションを使った PHP プログラミング

PHP でセッションを利用するには、以下の 2 つのことを知っておく必要があります。

  • スーパーグローバル変数 $_SESSION を使う
  • PHP 組込み関数 session_start() を呼出して明示的に利用を示す

参考

変数・スーパーグローバル変数については「変数の使い方」にまとめています。

 

スーパーグローバル変数「$_SESSION」

セッション用の情報を移動先のページへ持ち運ぶのに、「$_SESSION」を使います。

 セッション変数の使い方
$_SESSION["キー"] = 代入する値;

例えば、「$_SESSIOIN["username"] = "sanachan";」でセッション変数に値が代入されます。

 

$_SESSION は、配列データを代入することも可能です。

 セッションに配列を保存する例
$_SESSION["sample"] = array("sanachan", "php", "session");
echo $_SESSION["sample"][1];  // "php" が出力される

 

セッションを利用する明示的な記述「session_start()」

PHP では「このページでセッション機能を使います!」という明示的な記述が必要です。
それを行うのが PHP 組込み関数である「session_start()」です。

 セッションを有効にする関数
session_start();

session_start() は、HTML 出力の前に記述する必要があります。
つまり、<html> タグを出力するよりも前に呼び出す必要があります。

注意ポイント

<html>タグの出力より後に記述すると、PHP はエラーを出力して処理が停止します。

 

セッションを使ったサンプル

まずは、セッションに値を保存するプログラムサンプルです。

 

セッションに保存されたかを確認するページのサンプルです。

 

こちらの記事もよく読まれています

  • この記事を書いた人
  • 最新記事
SANACHAN

SANACHAN

「生涯一エンジニア」を掲げ、大手グローバル企業でSE/PGとして8年勤め、キャリアアップ転職した現役のエンジニアです。世にあるメジャーな全プログラム言語(コボル除く)を自由に扱えます。一児の父。自分のため、家族のため、日々勉強してます。システムエンジニア、プログラミングに関する情報を蓄積している雑記帳です。

-PHP
-, ,