【PHP】セッション変数($_SESSION)を使って出来ること【基本と応用】

【PHP】セッション変数($_SESSION)を使って出来ること【基本と応用】

セッション変数とは

PHPのセッション変数($_SESSION)は、ユーザーごとに異なる情報をサーバー側で保持する仕組みです。セッションは、Webブラウザが閉じられるまでデータを維持するため、ページをまたいで情報を共有できます。

セッション変数の基本的な使い方

セッションを使うには、最初に session_start() を呼び出す必要があります。


    session_start();
    $_SESSION['username'] = 'Taro';
    echo 'こんにちは、' . $_SESSION['username'] . 'さん!';
    

ユーザー認証

セッションを利用すると、ログインしたユーザーの情報を保持し、認証状態を管理できます。


    session_start();
    if ($_POST['username'] == 'admin' && $_POST['password'] == 'password123') {
        $_SESSION['loggedin'] = true;
        $_SESSION['username'] = 'admin';
        header('Location: dashboard.php');
        exit;
    }
    

ショッピングカート

オンラインショップでは、セッションを使ってカートの中身を保存できます。


    session_start();
    $_SESSION['cart'][] = ['item' => 'ノートPC', 'price' => 100000];
    echo 'カートに追加しました!';
    

ページの訪問回数を記録する

訪問回数をセッションで管理することで、ユーザーが何回ページを訪れたかをカウントできます。


    session_start();
    if (!isset($_SESSION['visit_count'])) {
        $_SESSION['visit_count'] = 1;
    } else {
        $_SESSION['visit_count']++;
    }
    echo 'あなたの訪問回数: ' . $_SESSION['visit_count'];
    

複数ページにまたがるフォームのデータ保持

長いフォームを複数ページに分ける場合、セッションを使って入力情報を保持できます。


    session_start();
    $_SESSION['form_data']['name'] = $_POST['name'];
    $_SESSION['form_data']['email'] = $_POST['email'];
    header('Location: step2.php');
    

ユーザーの設定や選択を記憶

テーマカラーや言語設定をセッションで記憶することで、サイトの利便性を向上できます。


    session_start();
    $_SESSION['theme'] = 'dark';
    echo '選択したテーマ: ' . $_SESSION['theme'];
    

セッションのセキュリティ対策

セッションハイジャック対策として、セッションIDの再生成を行うことが推奨されます。


    session_start();
    session_regenerate_id(true);
    

セッションの終了と破棄

セッションを終了するには session_destroy() を使用します。


    session_start();
    session_destroy();
    unset($_SESSION);
    echo 'セッションを終了しました。';
    

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です