PHPの勉強でセッションについて理解を試みてみた
はじめに
初心者がPHPの勉強をしたのでアウトプットしていく。
とにかく最速でアプリを作るための勉強なので、作りたいものに特化したアウトプットになる。
今回はセッションについて。
セッションとは
セッションとはサーバー側に、一時的にデータを保存する仕組みのこと。
ログイン情報などユーザーに直接紐づくデータを格納する。
Cookieの仕組みと似ているが、Cookieはブラウザ側,、セッションはサーバー側にデータを保存しているという違いがある。
そのため、セッションの方がセキュリティ的に強固だと言われている。
セッションスタート
セッションをスタートさせるにはsession_start関数
を使用する。
<? php
// セッションスタート
session_start();
?>
セッションにデータを保存するには下記のように記入する。
<?php
session_start();
$_SESSION['name'] = "hogehoge";
?>
これでサーバーへの保存は完了。
ただこれだと本当に保存されているかわからないので、ブラウザ上に取り出してみる。
<?php
session_start();
$_SESSION['name'] = "hogehoge";
echo $_SESSION['name'] ;
?>
ブラウザ上に「hogehoge」と表示される。
無事に保存されていることを確認できた。
セッションはサーバー側の管理なので、違うページにまたがっても同じセッションを取り出すことが可能。
試しに別ファイルsession.php
を作成し下記のように記述してみると、
<?php
session_start();
echo $_SESSION['name'] ;
?>
先ほどのファイル同様に「hogehoge」と表示される。
別ページに関わらず再度代入する必要がないことがわかる。
保存したセッションを削除する
削除にはunset
を使用する。
<?php
session_start();
$_SESSION['name'] = "hogehoge";
unset($_SESSION['name']);
echo $_SESSION['name'] ;
?>
上記のようにunset($_SESSION['name']);
を記述することでセッションを削除できる。
結果「Notice: Undefined index: name in ~~~」とエラーが表示される。
当然、先ほど作ったsession.php
にも同様のエラーが表示される。