为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 MySql 数据库中将复选框值存储为 yes - PHP

如何在 MySql 数据库中将复选框值存储为 yes - PHP

PHP
慕的地8271018 2023-04-21 16:38:07
因此,当用户创建一个帐户时,他们必须勾选复选框才能继续,但我如何存储他们接受了它(即使他们无法在不接受它的情况下创建帐户)。但是我们仍然想存储它。复选框<input type="checkbox" name="agree" value="accepted">PHPif ($_POST['agree'] != 'accepted') {             $error[] = 'Please indicate that you have read and agree to the Terms and Conditions and Privacy Policy';    } else {            $stmt = $db->prepare('SELECT termsAccepted FROM members WHERE termsAccepted = :??????');    $stmt->execute(array(':??????' => $?????));    $row = $stmt->fetch(PDO::FETCH_ASSOC);    }
查看完整描述

2 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

如果未选中该复选框,则变量agree中不会有任何索引$_POST,因此请事先检查它是否存在以防止在日志中抛出警告。


之后,您可以使用 UPDATE 查询来修改members表中的termsAccepted列。


伪代码:


if (isset($_POST['agree']) && $_POST['agree'] == 'accepted') {

    $stmt = $db->prepare('UPDATE members SET termsAccepted=1 WHERE id = :user_id');

    $stmt->execute(array(':user_id' => $user_id));

}

提示:如果您仅存储trueor false,则可以对列termsAccepted使用数据类型 TINYINT(1) 或 BOOLEAN ,因为它仅存储两种状态。


查看完整回答
反对 回复 2023-04-21
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

您可以在“其他”查询中进行 if 查询


if ($_POST['agree'] == 'accepted') {

 $checkbox = "true";

} else {

 $checkbox = "false";

}

而且你可以将 $checkbox 添加到你的执行数组中,但你应该修改准备好的语句。


查看完整回答
反对 回复 2023-04-21
  • 2 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信