カテゴリ: PHP 更新日: 2025/11/09

PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ

PHP のセッションを使ったフォーム入力の保持
PHP のセッションを使ったフォーム入力の保持

先生と生徒の会話形式で理解しよう

生徒

「PHPでフォームに入力した内容を、ページを移動しても残しておく方法ってありますか?」

先生

「はい、それにはセッション(session)を使うと便利です。セッションを使えば、ユーザーごとの情報を一時的に保存できます。」

生徒

「それって、ログインとかにも使われてるやつですか?」

先生

「そうですね!ログイン情報やショッピングカートの中身、そしてフォームの入力内容を保持するのにもセッションはよく使われます。今日は、フォーム入力の保持を例に、セッションの使い方を学んでいきましょう。」

-

1. セッションとは?初心者向けにやさしく説明

1. セッションとは?初心者向けにやさしく説明
1. セッションとは?初心者向けにやさしく説明

セッション(Session)とは、Webサイトを使っている間だけ情報を一時的に保存する仕組みです。たとえば、名前や住所などの情報をページ移動しても覚えておくことができます。

セッションは「サーバー側」で管理され、ユーザーごとに割り当てられた番号(セッションID)で区別されます。クッキーと似ていますが、クッキーはユーザーのパソコン側に保存されるのに対し、セッションはサーバー側に保存されるのが大きな違いです。

2. フォームに入力した値をセッションで保持するイメージ

2. フォームに入力した値をセッションで保持するイメージ
2. フォームに入力した値をセッションで保持するイメージ

たとえば、名前やメールアドレスを入力して「次へ」ボタンを押したとき、その入力内容をセッションに保存しておけば、次のページでその値を使うことができます。

途中で戻っても入力内容が消えずに済むので、ユーザーにとって親切な作りになります。

3. フォームを作成してセッションに保存する

3. フォームを作成してセッションに保存する
3. フォームを作成してセッションに保存する

まず、HTMLフォームを用意して、送信後にPHPでセッションに値を保存するようにします。


<form action="confirm.php" method="POST">
    <label>お名前:</label>
    <input type="text" name="name"><br>
    <label>メールアドレス:</label>
    <input type="email" name="email"><br>
    <button type="submit">次へ</button>
</form>

次にconfirm.phpで入力内容をセッションに保存します。


session_start();
$_SESSION['name'] = $_POST['name'];
$_SESSION['email'] = $_POST['email'];

session_start()は、セッション機能を使うときに必ず最初に呼び出す関数です。

4. 確認ページでセッションの値を表示する

4. 確認ページでセッションの値を表示する
4. 確認ページでセッションの値を表示する

保存されたセッションの値は、別のページでも取り出して使うことができます。


session_start();
echo "お名前:" . $_SESSION['name'] . "<br>";
echo "メールアドレス:" . $_SESSION['email'];

これで、前のページで入力した内容を確認ページで表示できます。

-

5. 入力画面に戻ったときに入力値を保持する

5. 入力画面に戻ったときに入力値を保持する
5. 入力画面に戻ったときに入力値を保持する

入力ミスなどで前の画面に戻ったときも、セッションを使って入力内容を保持しておけば、もう一度書き直す手間が省けます。


<input type="text" name="name" value="<?php echo isset($_SESSION['name']) ? $_SESSION['name'] : ''; ?>">

このようにvalue属性にセッションの値を入れることで、再表示時にも内容が残ります。

6. セッションの注意点と使いどころ

6. セッションの注意点と使いどころ
6. セッションの注意点と使いどころ

セッションを使うと便利ですが、いくつか注意点があります:

  • セッションを使うページでは必ずsession_start()を最初に書く
  • 多くのデータを保存しすぎないようにする
  • ログアウト時や完了時にはsession_destroy()で消す

セッションは、ユーザーごとに情報を保持できるとても便利な機能です。フォームの入力内容を保持したり、アンケートや注文フォームの途中保存など、いろいろな場面で使えます。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
Pythonの例外発生の基本をマスター!初心者でもわかるraise文の使い方ガイド
Pythonでタプルの要素数を取得する方法(len()の使い方)初心者でもわかる数え方の基本
Pythonの辞書をデータフレーム(Pandas)に変換する方法 初心者向け完全ガイド
PHPでスパム対策!CAPTCHAの使い方を初心者向けにやさしく解説
人気記事
No.1
PHP&Python記事人気No1
Pythonの例外処理をやさしく解説!初心者でもわかるtry-exceptの基本と使い方
No.2
PHP&Python記事人気No2
PHPでJSONデータを扱う方法をやさしく解説!初心者でもわかるjson_encodeとjson_decode
No.3
PHP&Python記事人気No3
Pythonのデータ型変換まとめ!int, float, str, list などの変換方法
No.4
PHP&Python記事人気No4
PHPのデフォルト引数の設定方法をやさしく解説!初心者でも安心の入門ガイド
-