$ _POST未设置

时间:2011-05-01 23:10:03

标签: php post submit checkbox

有没有人知道为什么$_POST没有设置?

这里有一些代码。

<form method="post" name="form" id="clientForm" action="">
<input type="submit" name="sub" value="Delete_Checked"/>
<?php if ($i%2){ ?> class="even"<?php } ?>
<input type="checkbox" name="doc[]" value="<?php echo $document->doID; ?>"/>
<?php $i++; } ?>
</form>
<?php
if (isset($_POST['sub']) == 'Delete_Checked'){
print_r($_POST['sub']); // nothing gets print.
......
}
?>

我必须忽视某些事情。

3 个答案:

答案 0 :(得分:4)

如果在提交时未选中该复选框,则它将不在$ _POST数组中。

始终设置

$ _ POST本身。当您需要查看其中包含的所有内容时,请尝试此操作:

print_r($_POST);

确保您也使用“post”作为表单方法。

此外,当您的代码仅显示'doc []`输入时,您似乎正在尝试访问$_POST['sub']

答案 1 :(得分:2)

if (isset($_POST['sub']) == 'Delete_Checked'){

这不是应该如何写的。它只会偶然发挥作用。

作者想写的是:

if (isset($_POST['sub']) && ($_POST['sub'] == 'Delete_Checked')) {

我个人会遗漏整个isset部分,因为这正是阻碍你对事业进行评估的因素。

答案 2 :(得分:1)

输入应该是方法POST的内部形式

<form action="...." method="POST">
<input type="submit" name="sub" value="Delete_Checked"/>
</form>

尝试将操作设置为<form action="...." method="POST"> <input type="submit" name="sub" value="Delete_Checked"/> </form>