Checkbox输入和ph​​p奇怪的行为

时间:2016-03-26 00:48:09

标签: php html checkbox input

我遇到了PHP中的html复选框的一些奇怪问题。问题是:我有默认使用'checked =“checked”'属性检查的选项,如果我取消选中它们,php仍然算作一个复选框。

是否有解决此问题的解决方法?

这是默认情况下检查某些框的内容:

<?php
foreach($User->listRanks() as $rank):
?>
<tr>
    <td></td>
    <td width="30">
    <input type="checkbox" <?php if ($action == "edit") echo ($User->checkRank($rank->id_rank, $info->id_user_admin) > 0 ? 'checked="checked"':'');?> name="rank_item[]" value="<?php echo $rank->id_rank;?>" />
    </td>
    <td><?php echo utf8_encode($rank->title_rank);?></td>
    </tr>
<?php
endforeach;
?>

这是获得输入的内容:

<?php
foreach ($_POST["rank_item"] as $k => $v):
    $User->setRank($v, $User->getId($_POST["nick"]));
endforeach;
?>

例如,如果我取消选中某些默认选中的项目,它们仍会计为已选中。

编辑:checkRank方法:

public function checkRank($rid, $id) {
    $query = parent::query("SELECT * FROM ranks_rel WHERE id_rank = :r AND id_user_admin = :i");
    $query = parent::bind(":r", $rid);
    $query = parent::bind(":i", $id);
    $query = parent::run("rowcount");
    return $query;
}

干杯。

0 个答案:

没有答案