为什么我不能在PHP中获取html选择选项值?

时间:2013-07-09 19:01:46

标签: php javascript html

我将获得选择选项所有值(不仅是选定的值)实际上我有两个列表,第一个列表是我的源,用户将他们选择的值添加到第二个列表。所以我会得到第二个列表所有值: 我的名单在这里:

<form method="post" action="a.php">
    <select name="ap" size="5" style="width:100px;">
       <option>op1</option>
       <option>op2</option>
       <option>op3</option>
       <option>op4</option>
       <option>op5</option>
    </select>
<input type="submit" />

</form>

我已经研究过并发现我们可以使用$ _POST和$ _REQUEST我已经使用了这两个,但我不知道为什么我没有得到结果: 以下代码不打印任何内容:

  <?php
     echo $_REQUEST['ap'];
  ?>

并且还使用以下代码但没有得到结果:

<?php
    foreach( $_REQUEST['ap'] as $key=>$val)
    {
        echo $val;
    }
?>

但得到警告:在警告消息中为foreach()提供的参数无效。

并尝试此操作,但获得与上述相同的警告;

foreach( $_REQUEST['ap'] as $key)
{
    echo $key;
}

3 个答案:

答案 0 :(得分:0)

您需要为标记指定一个值,如下所示:

<option value="test">Test</option>

然后你可以用PHP获得它。

答案 1 :(得分:0)

选项需要值。传输到服务器的值sget,标记中的值将显示给用户。 区别在于开发人员可以向用户显示文本,但是传输ID等。

<form method="post" action="a.php">
    <select name="ap" size="5" style="width:100px;">
       <option value="op1">op1</option>
       <option value="op2">op2</option>
       ...
    </select>
<input type="submit" />

</form>

答案 2 :(得分:0)

表单只提交选定的选项。

您说用户可以某种方式为此列表添加值。我假设这使用了javascript(尽管如果你使用表单提交按钮和PHP,同样的原则也适用。)

您需要修改将值添加到列表的代码。除了填充可见列表外,您还可以填充一个不可见的列表,该列表将提供所需的信息。

我会尝试创建隐藏的输入,如<input type="hidden" name="ap_all[]" value="op1">

(我认为这里已经提到过[] - 它告诉PHP从所有值构建$_POST['ap_all'],而不是仅使用最后一个值。