PHP - フォーム内の値を保持する方法


  1. 初期値の設定: フォームの各入力要素には、初期値を設定することができます。これにより、ユーザーがフォームを送信しても値がクリアされないようになります。例えば、テキスト入力フィールドには、value属性を使用して初期値を指定します。
<input type="text" name="username" value="<?php echo isset($_POST['username']) ? $_POST['username'] : ''; ?>">

上記の例では、$_POST['username']が存在する場合はその値を表示し、存在しない場合は空の文字列を表示します。

  1. セッションを使用する: PHPのセッションを使用して、フォームの値を保持することもできます。セッションは、サーバー側にデータを保存する仕組みです。以下の例では、セッションを使用してフォームの値を保持します。
session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $_SESSION['username'] = $_POST['username'];
} else {
    $_SESSION['username'] = '';
}
// フォームの値を表示する場合
<input type="text" name="username" value="<?php echo $_SESSION['username']; ?>">

上記の例では、$_SESSION['username']にPOSTされた値を保存します。フォームの値を表示する際には、$_SESSION['username']を使用します。

  1. クッキーを使用する: PHPのクッキーを使用して、フォームの値を保持することもできます。クッキーは、ユーザーのブラウザにデータを保存する仕組みです。以下の例では、クッキーを使用してフォームの値を保持します。
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    setcookie('username', $_POST['username']);
} else {
    setcookie('username', '', time() - 3600);
}
// フォームの値を表示する場合
<input type="text" name="username" value="<?php echo isset($_COOKIE['username']) ? $_COOKIE['username'] : ''; ?>">

上記の例では、setcookie()関数を使用してクッキーに値を保存します。フォームの値を表示する際には、$_COOKIE['username']を使用します。

これらの方法を使用することで、PHPでフォームの値を保持することができます。適切な方法を選択し、フォームの値が保持されるようにコードを実装してください。