PHP函数问题

时间:2010-09-25 06:56:14

标签: php

我有一个php函数脚本应该取消选中复选框或复选框,如果用户在单击预览按钮时将其取消选中但我只能获取最后一个 未经检查的复选框以保持未选中而不是其他checkeboxes如何解决此问题,以便取消选中未选中的所有复选框?

这是我的PHP函数的一部分,它给了我这个问题。

if(isset($_POST['preview'])){
    foreach($query_cat_id as $qci) {
        if(!in_array($qci, $cat_id)){
            $unchecked = $purifier->purify(strip_tags($qci));
        }
    }
}


for ($x = 0; $x < count($query_cat_id); $x++){
    if(($query_cat_id[$x] == $cat['id']) && ($cat['id'] != $delete_id) && ($cat['id'] != $unchecked)){
        echo 'checked="checked"';
    }
}

2 个答案:

答案 0 :(得分:1)

为什么不只是检查变量是否已设置,如果在提交表单时选中了复选框,则会在$_POST['checkboxName']中显示该复选框,否则isset($_POST['checkboxName'])将返回false。

测试它的基本脚本

<?php
if (isset($_POST['heh']))
    echo $_POST['heh'];
else
    echo "Not checked";
?>
<form action='yourPage.php' method='post'>
<input type='checkbox' name='heh' />
<input type='submit' />
</form>

查看实际操作

http://robertsquared.com/so.php

答案 1 :(得分:0)

我在客户端解决了这个问题

我输入的隐藏类型与复选框的名称相同,值为0,隐藏字段后面的复选框值为1

如果未选中该复选框,则从隐藏字段中获取值0,如果有人检查,则从复选框中获取1。

所以我只需要检查$ value == 1然后检查=检查