为什么Yii表单复选框登录表单同时发布隐藏和复选框输入


Why does the Yii Form Checkbox Login Form Posts both hidden and checkbox inputs?

使用Yii 1.1.15

我使用默认的登录表单:

呈现的HTML:

<div class="row rememberMe">
<input id="ytUser_rememberMe" type="hidden" value="0" name="User[rememberMe]">
<input name="User[rememberMe]" id="User_rememberMe" value="1" type="checkbox">
<label for="User_rememberMe">Remember Me</label>
</div>

In the View:

<div class="row rememberMe">
    <?php echo $form->checkBox($model,'rememberMe'); ?>
    <?php echo $form->label($model,'rememberMe'); ?>
    <?php echo $form->error($model,'rememberMe'); ?>
</div>

什么是张贴(表单数据):

User[rememberMe]:0
User[rememberMe]:1

即使复选框被选中,它也总是0。

我该如何解决这个问题?

你可以放心地忽略它们。

如果未选中复选框,Yii将取第一个值(默认值),即0。

如果复选框被选中,当控制器执行以下操作时,第二个值将覆盖第一个值:

$model->attributes = $_POST['User'];