我从HTML表单中获取此代码:
<select name="history12">
<option value="Gov/Econ">Government & Economics</option>
<option value="AP Gov/Econ">AP Government & Economics</option>
</select>
...以及此代码,以邮件形式:
$history12 = $_REQUEST['history12'] ;
但是,当我尝试echo()$ history12时,它总是返回空白。我无法弄清楚我做错了什么,因为其他输入工作正常(文本和广播),但似乎它在选择上很糟糕。
答案 0 :(得分:5)
也许您可以尝试输出整个$ _REQUEST变量,以确保您期望的所有内容都显示出来。这可能至少表明'history12'键是否已设置。
print_r($_REQUEST);
答案 1 :(得分:4)
要检查的一些事项
get_defined_vars()
答案 2 :(得分:1)
如果以干净的形式重复您的代码并且工作正常。你的问题必须在其他地方。
获取此代码并开始添加其他组件,您可以测试哪一个给您一个问题。
<form action="test.php" method="post">
<select name="history12">
<option value="Gov/Econ">Government & Economics</option>
<option value="AP Gov/Econ">AP Government & Economics</option>
</select>
<input name="send" type="submit" value="send" />
</form>
<?php
if(isset($_POST['history12'])) {
$history12 = $_REQUEST['history12'] ;
echo $history12;
}
?>
答案 3 :(得分:1)
您是否确保在上述名称之后不会意外地拥有另一个表单元素?
我曾经有过几次,例如“history12”作为下拉列表,但之后是一个隐藏的字段,后面有相同的名称,没有任何价值。这将覆盖选择。
答案 4 :(得分:0)
确保在提交表单时选择了某些内容。
默认情况下会选择某些内容,因此您更有可能在某处擦除变量或在放入选择之前以html格式关闭表单。
你也可能在其他地方做了一些格式错误的html,做了一些时髦的表格。
答案 5 :(得分:0)
当我运行时:
<form action='me.php' method='POST'>
<select name="history12">
<option value="Gov/Econ">Government & Economics</option>
<option value="AP Gov/Econ">AP Government & Economics</option>
</select>
<input type='submit' name='submit' value='lksjdflk' />
</form>
<pre>
<?php
var_dump($_REQUEST);
?>
</pre>
我明白了:
array(2) { ["history12"]=> string(11) "AP Gov/Econ" ["submit"]=> string(8) "lksjdflk" }
您需要在表单周围发布html以及在服务器端接收它的代码。
另外,尝试将值从“Gov / Econ”更改为“Gov Econ”,看看你得到了什么。您可能正在运行一些代码来处理$ _REQUEST并使用正则表达式或某些东西做一些时髦的事情并剥夺您的价值。