如何将下拉菜单中的选项保存为php会话变量?

时间:2013-05-21 12:11:50

标签: php session drop-down-menu

我正在尝试将下拉菜单中的一个选项保存为会话变量。

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

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

它在浏览器页面中返回的内容是:

  

注意:未定义的索引:数字在   第46行的C:\ xampp-portable \ htdocs \ eva \ 00ideaselection.php

  1. 这里有什么错误?
  2. 将下拉菜单中的选项保存为会话变量的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

value添加到下拉菜单

<select name="number" id="number">
      <option value="1">one</option>
      <option value="2">two</option>
      <option value="3">three</option>
</select>

并在检索值时使用isset函数检查值是否已过帐

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

答案 1 :(得分: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,那么该值将被设置为session。

由于