PHPのsessionについて初学者向けに解説します

今日はPHPのsession(セッション)について解説します。

ログイン機能などによく使用されるのでしっかり抑えておきましょう。

セッションってそもそも何?

結論から言うと、

一連の情報を保持すること

です。

「ん?」って感じですよね。。。

詳しく説明していくと、そもそもwebアプリはHTTP通信によって行われています。

HTTP通信とは、完結型の通信で、他ページへ遷移すると、全ての情報は失われます。

しかし、他ページへ遷移しても、情報を保持して欲しいことがあります。

例えば、ログイン機能です。

ページ遷移するたびにログインを求められるのは、面倒ですよね。

その時に便利なのがセッションです。

セッションは、ログインユーザーの情報をブラウザ上に保持し、その情報を参照して、webページを横断します。

そのほかにもカート機能などもセッションの仕組みを使用しています。

カートに入れたのに、ページ遷移したらカートが空になったら萎えますよね。

そこで結論に戻るのですが、

セッションとは、weページを横断する度に情報が消えることなく、情報をwebブラウザ上に保持してくれる仕組みです。

そのほかにもクッキーと呼ばれる仕組みもありますが、また後ほど記事にします。

PHPでセッションを使用してみよう

まずは実際にコードを見てみましょう。

<?php
session_start();
if (!empty($_POST)) {
    $_SESSION['name'] = $_POST['name'];
    var_dump(session_id());
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form action="" method="post">
        <input type="text" name="name" value="">
        <input type="submit" value="送信する">
    </form>
</body>
</html>

記述自体はとても簡単です。

session_startメソッドを使用して、セッションが使用できる状態にします。

その後、$_SESSIONと呼ばれるスーパーグローバル変数に、連想配列の形で値を代入するだけです。

本当にセッションが保存されているか確認する場合は、session_idメソッドを使用しましょう。

とても簡単ですね。
セッションは、IDが発行されるので、心配であるならIDも確認すると良いです。

まとめ

  • session_startメソッドを使用する
  • $_SESSIOは連想配列の形になる
  • sessionは保存される度にIDが発行される

セッションはとても便利な機能なので、ここでしっかり抑えておきましょう。

参考

セッション関数

Cookieとセッションをちゃんと理解する

コメント

Comments are closed.