我想使用PHP脚本选中并取消选中表单的复选框
大家好,我想使用PHP脚本选中并取消选中表单的复选框。 在数据库中,我使用数据类型TinyInt来存储0或1。 我正在使用以下代码我想使用PHP脚本选中并取消选中表单的复选框,php,Php,大家好,我想使用PHP脚本选中并取消选中表单的复选框。 在数据库中,我使用数据类型TinyInt来存储0或1。 我正在使用以下代码 <tr> <td><div id="formEditProfileLblAEmail">Allow Email</div> </td><td><input type="checkbox" checked="<?php $sql = "Select firstnam
<tr>
<td><div id="formEditProfileLblAEmail">Allow Email</div>
</td><td><input type="checkbox" checked="<?php
$sql = "Select firstname,middlename,lastname,nickname,require_email,allow_scores from user_info where username = '".$_SESSION['username']."'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
$row = mysql_fetch_array($result);
if($count>0)
{
if($row['require_email']=='1')
{
echo 'checked';
}
else
{
echo 'unchecked';
}
}
else
echo 'unchecked';
?>" name="formEditProfileChkAEmail" id="formEditProfileChkAEmail" /> </td></tr>
但无论数据库中是否有0或1,我的复选框总是会被选中。不要处理if的else部分,只需在if中添加 移除位于if外部的选中的=
<input type="checkbox"
<?php if($row['require_email']=='1') {
echo 'checked="checked"';
}
与要取消选中的复选框无关。不处理if的其他部分,只需在if中添加 移除位于if外部的选中的=
<input type="checkbox"
<?php if($row['require_email']=='1') {
echo 'checked="checked"';
}
与要取消选中的复选框无关。是否打印文本?Try checked=checked。文本是否正在打印?Try checked=checked。根据,checked属性是布尔值。也就是说,如果您没有将其设置为表示false的值,则用户代理可能会确定它为true,即选中。从历史上看,仅此属性的存在就表明应选中该框,因此这可能是默认值 您可以通过查看源代码来测试这一点-我怀疑您将使用checked=unchecked来呈现页面,这仍然会将框呈现为选中状态 您可以通过在PHP源代码中将unchecked更改为false来修复此问题,以便获得所需的正确布尔行为 编辑:规范进一步定义了表示true的内容——因此,要生成正确的HTML并将该属性设置为false,唯一的方法是完全忽略该属性。描述如何实现此目的,并从我处获取+1。根据,选中的属性为布尔值。也就是说,如果您没有将其设置为表示false的值,则用户代理可能会确定它为true,即选中。从历史上看,仅此属性的存在就表明应选中该框,因此这可能是默认值 您可以通过查看源代码来测试这一点-我怀疑您将使用checked=unchecked来呈现页面,这仍然会将框呈现为选中状态 您可以通过在PHP源代码中将unchecked更改为false来修复此问题,以便获得所需的正确布尔行为
编辑:规范进一步定义了表示true的内容——因此,要生成正确的HTML并将该属性设置为false,唯一的方法是完全忽略该属性。描述如何实现此目的,并从我处获取+1。没有值,例如未选中,因此需要回显:
checked="checked"
如果值大于0,如果值为0,则什么也没有。没有值,例如未选中的值,因此您需要回显:
checked="checked"
如果值大于0,如果值为0,则什么都没有。这绝对是SQL注入的开放条件。熟悉PHP预处理语句功能的人可以建议如何避免这种情况吗?问题不在于SQL注入,我可以防止这种情况,基本上我想选中/取消选中复选框。这不是PHP问题,而是HTML问题。学习HTML。这与JavaScript无关,因为您正在使用服务器端PHP代码设置复选框状态-删除标记。我真的不想在这种情况下使用JavaScript。这绝对是对SQL注入开放的。熟悉PHP预处理语句功能的人可以建议如何避免这种情况吗?问题不在于SQL注入,我可以防止这种情况,基本上我想选中/取消选中复选框。这不是PHP问题,而是HTML问题。学习HTML。这与JavaScript无关,因为您正在使用服务器端PHP代码设置复选框状态-删除标记。我真的不想在此场景中使用JavaScript。完成人谢谢。将在剩余5分钟后标记它已回答。完成人谢谢。将在剩余5分钟后标记它已回答。