PHP 复选框值


PHP checkbox value

可能的重复项:
提交带有空复选框的 HTML 表单

我正在尝试向数据库提交一些数据。我正在尝试将表单中复选框的值提交到数据库,如下所示:

<input type='checkbox' name='continue' <?php if ($_POST[continue] == TRUE)  echo "value='y' checked='checked'"; else  echo "value='n'"; ?> />

当我在选中复选框时提交数据时,值将为"y"。 但是当选中该复选框时,没有数据发送到数据库。

请指教。

解决方案 1:(更好的方法)

<input type="checkbox" name="continue"<?php echo (isset($_POST['continue']) ? ' checked="checked"' : ''); ?> />

在数据库 (?) 文件中:

$continue = isset($_POST['continue']) ? 'y' : 'n';

.

解决方案 2:(不推荐)

<input type="hidden" name="continue" value="<?php echo isset($_POST['continue']) ? 'y' : 'n'; ?>" />
<input type="checkbox" name="continue_x"<?php echo (isset($_POST['continue']) ? ' checked="checked"' : ''); ?> onclick="document.getElementsByName('continue')[0].value=this.checked?'y':'n';" />

首先,当您尝试使用 PHP 验证复选框时,它不会像 JavaScript 那样进行实时检查,您可以立即进行检查而无需与服务器端交互。

所以你想做什么,我假设你想将数据从表单插入到数据库中。

<input type='checkbox' name='continue' <?php if (isset($_POST[continue])) echo 
"checked='checked'"; ?> />

因此,您对上述代码所做的是使用isset函数进行检查,如果选中该复选框并且您再次调用表单,该复选框仍将保留状态并且仍会被选中。

现在进入需要获取要插入到数据库中的值的部分。

if (isset($_POST[continue])) 
    $cont = 'y';
    else $s = 's';

在将值插入查询之前,您将需要它,而不是现在执行$_POST[continue]只需使用 $cont 作为查询中的值,您将获得正确的值。

试试这个

<input type='checkbox' name='continue' <?php if ($_POST['continue']==TRUE) { echo "value='y' checked='checked'"; } else { echo "value='n'"; } ?> />

选中的复选框成功(并提交其值),未选中的复选框不成功(也不会)。

您需要为复选框提供一个固定值,然后根据数据的存在(或不存在)来确定它是否已选中,而不是数据的特定值。

仅当您有多个具有相同名称的复选框时,该值才重要(例如,对于"勾选您定期使用的每种交通方式"类型的问题。