Php 在_POST中找不到表单值
我制作了一个非常简单的表单,只是为了看看我在用PHP提交数据时是否做了正确的事情。它只是由三个单选按钮组成,其他什么都没有。对不对,我没有像我预期的那样在$u POST中获得值 表格:Php 在_POST中找不到表单值,php,forms,radio-button,Php,Forms,Radio Button,我制作了一个非常简单的表单,只是为了看看我在用PHP提交数据时是否做了正确的事情。它只是由三个单选按钮组成,其他什么都没有。对不对,我没有像我预期的那样在$u POST中获得值 表格: <form name='testform' action='test.php' method='post'> <input type='radio' name='testbutton' value='larry' /> <input type='radio' name
<form name='testform' action='test.php' method='post'>
<input type='radio' name='testbutton' value='larry' />
<input type='radio' name='testbutton' value='curly' />
<input type='radio' name='testbutton' value='moe' />
<input type='submit' value='Submit'>
</form>
代码没有返回任何错误,但是无论我选择什么按钮,我总是得到Moe,即使根本没有选择任何按钮。使用var_dump($_POST)不会提供任何内容,而是一个空白空间。使用print\r($\u POST)给出1,无论我选择什么。我找不到我做错了什么
顺便说一句,我知道这段代码不是最优的,但我只是在这里进行测试。您可能还有其他一些代码没有显示给我们,这是给$\u POST变量赋值,然后覆盖它 如果您创建一个全新的php文件,并且只输入您在此处发布的代码,那么它应该可以正常工作。
- 将“name”属性添加到输入元素总是很好的
我知道这是一篇老文章,但在调试神秘问题时,有时另一个建议可能会帮助某人解决“缺少文章”的数据之谜 在我的例子中,我使用ajax提交表单。在javascript代码中:我将“type:”设置为“GET”,然后继续编写代码来处理服务器端PHP脚本中的“$\u POST”数据。令人迷惑的是,请求视图(如Chrom Developer工具中所示)具有正确的值,因此您确信这些值正在传输。但是,在进一步检查时,您会看到响应头显示“GET”
愚蠢的错误是肯定的。希望这有助于将其他人从类似的调试地狱中解救出来。我没有遇到任何问题,也没有发现任何错误:/尝试使用$\u请求,看看它是否接收到它。好吧,它是整个表单,但我还有两个在上面。一个带有列表元素,一个带有复选框。但他们的工作应该是正常的。只有单选按钮起作用。这些表格是否有可能被“调用”,以及如何编写整个过程?我检查了标签,所以表单没有以任何方式嵌套。对不起。出于某种原因,代码块格式不适合我写这篇文章。我试着重新编辑。如果其他人能做到这一点,谢谢。命名输入按钮并检查它以检测表单提交几乎从来都不是一件好事。我发现了那是什么。两个放错地方了。谢谢你抽出时间。
if($_POST['testbutton'] == 'larry') {
echo "You picked Larry";
} elseif($_POST['testbutton'] == 'curly') {
echo "You picked Curly";
} else {
echo "You picked Moe";
}
<input type="submit" name="MySubmit" value="Submit">
if(isset($_POST['MySubmit'])) {
$selected = $_POST['testbutton'];
switch($selected){
'larry': echo "You picked Larry";
break;
'curly': echo "You picked Curly";
break;
default: "You picked Moe";
break;
}
}
else {
echo "Form submit failed";
}