我有以下代码,类似于带有下拉列表的表单。列表中的所选项目应发送到 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方法? 提前致谢
答案 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']
设为'和'