1

ドロップダウン メニューのオプションの 1 つをセッション変数として保存しようとしています。

<select name="number" id="number">
            <option>one</option>
            <option>two</option>
            <option>three</option>
        </select>

            <?php
         session_start();
$_SESSION['number'] = $_POST['number'];
?>

ブラウザページで返されるものは次のとおりです。

注意: 未定義のインデックス: C:\xampp-portable\htdocs\eva\00ideaselection.php の 46 行目の数値

  1. ここでのエラーは何ですか?
  2. ドロップダウンメニューからオプションをセッション変数として保存する最良の方法は何ですか?
4

3 に答える 3

0

これを試して

<select name="number" id="number">
        <option>one</option>
        <option>two</option>
        <option>three</option>
    </select>

   <?php
     session_start();
     if(isset($_POST['number']))
         $_SESSION['number'] = $_POST['number'];
  ?>

表示されるエラーは、フォームを投稿しておらず、$_POST から値を取得しようとしているためです。$_POST と $_GET には、投稿されたフォームからのデータがあります。したがって、フォームが作成されたのと同じ php スクリプトにフォームを投稿している場合、フォーム投稿なしでフォームが読み込まれると、その通知メッセージが表示されます。通知メッセージを避けるために、私は

   isset($_POST['number'])

この方法では、通知は表示されません。

フォームが投稿され、$_POST を受け取ると、値がセッションに設定されます。

ありがとう

于 2013-05-21T12:17:58.793 に答える