在PHP中获取所选的选项值

时间:2011-05-02 15:11:19

标签: php html

我有以下代码,类似于带有下拉列表的表单。列表中的所选项目应发送到 process.php 页面,这将完成一些工作。

<form name="form" method="GET" action="process.php">
  <div id="extra-components">
    <select name="boolean">
      <option value="and" selected="yes">AND</option>
      <option value="or">OR</option>
      <option value="not">NOT</option>
    </select>
  </div>
</form>

我的问题是:在 process.php 文件中,如何从表单中获取所选值?通过$ _GET方法? 提前致谢

4 个答案:

答案 0 :(得分:4)

如果这是表单的所有代码,它可能不起作用。您忘记的是一些提交按钮或至少一些JS代码,无需提交按钮即可提交表单。

正确的代码与此类似(注意额外的'submit'输入):

<form name="form" method="GET" action="process.php">
  <div id="extra-components">
    <select name="boolean">
      <option value="and" selected="yes">AND</option>
      <option value="or">OR</option>
      <option value="not">NOT</option>
    </select>
    <input type="submit" name="submit" value="Submit" />
  </div>
</form>

然后,点击“提交”后,数据将被发送到process.php脚本,并且应该可以使用以下方式访问:

$_GET['boolean']

另外,它应该是来自以下字符串的一些值:

  • '和'
  • '或'
  • '不是'

尝试一下 - 它不应该受到伤害;)示例解决方案:

if (isset($_GET['boolean']) && in_array($_GET['boolean'], array('and', 'or', 'not'))) {
    $chosen_boolean = $_GET['boolean'];
} else {
    $chosen_boolean = null;
}

然后如果

$chosen_boolean === null

这意味着给定的值不合适或不受支持(不是来自可用选项)。这应该可以帮助您避免任何有关inproper值的错误。

答案 1 :(得分:2)

根据您的HTML代码,您可以boolean访问$_GET['boolean']值。 $_GET['boolean']将包含<option>value元素之一,直到用户在其网址中更改它。

ESIT:

提示:不要忘记过滤用户提交的数据,始终。 HTML,JS限制都没有。 “总是假设用户是恶意的”(​​@MarkB)

答案 2 :(得分:1)

是的,您可以在$_GET['boolean']找到内容。

答案 3 :(得分:1)

是。所选选项的值将作为select参数的值传递。因此,使用此代码,您将获得

$_GET['boolean']

设为'和'