为什么服务器上没有<select>元素的值?</select>

时间:2014-01-21 13:26:09

标签: php

为了从下拉列表中选择用户,这样做是否合法?

我知道$_REQUEST['name']可以使用<input type="text">,但我不确定请求数组是否保存<select>值以及我没有得到正确的输出。

输出应为:所选项目的名称。例如,如果我选择“喝咖啡”它应该打印“喝咖啡”。

<?php
  $toDo=$_REQUEST['do today'];
  echo $toDo;
?>

<!DOCTYPE html>

<html>
  <body>

    <form action="planner.php" method="post">
       what would you like to do today?
       <select name="do today">
          <option value="drink coffee" >drink coffee</option>
          <option value="read book"  selected="selected">READ BOOK</option>
          <option value="take a walk">take a walk</option>
          <option value="buy a bagel">buy a bagel</option>
       </select>

     <br/>
     to submit your choices, press this button 
    <input type="submit" value="submit choice">

  </form>
 </body>
</html>

3 个答案:

答案 0 :(得分:2)

嗯......如果你只想要这个价值,那就很容易了:

$var = $_POST['dotoday'];

我总是建议名字中没有空格。只是烦恼。

我很确定我误解了你,因为我总是误解人。所以问一些事情是否清楚,或者我的答案是否完全没有回答你的问题。

答案 1 :(得分:1)

您不应在标记名称中使用空格。     

<html>
  <body>

    <form action="planner.php" method="post">
       what would you like to do today?
       <select name="do_today">
          <option value="drink coffee" >drink coffee</option>
          <option value="read book"  selected="selected">READ BOOK</option>
          <option value="take a walk">take a walk</option>
          <option value="buy a bagel">buy a bagel</option>
       </select>

     <br/>
     to submit your choices, press this button 
    <input type="submit" value="submit choice">

  </form>
 </body>

planner.php中的

获取值:

echo $_REQUEST['do_today'];

它将为您提供所选选项的值,而不是选项的名称。如果您选择<option value="read book" selected="selected">READ BOOK</option>

然后它会给你read book而不是READ BOOK

应该有意义:))

答案 2 :(得分:1)

您应该print_r $_POST并查看$_POST包含的字段名称。

在我的计算机上,$_POST持有

Array ( [do_today] => buy a bagel )

例如,<select>名称do today被视为do_today

所以我建议

echo $_POST['do_today'];