因此,当用户创建一个帐户时,他们必须勾选复选框才能继续,但我如何存储他们接受了它(即使他们无法在不接受它的情况下创建帐户)。但是我们仍然想存储它。复选框<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 ,因为它仅存储两种状态。
牛魔王的故事
TA贡献1830条经验 获得超3个赞
您可以在“其他”查询中进行 if 查询
if ($_POST['agree'] == 'accepted') {
$checkbox = "true";
} else {
$checkbox = "false";
}
而且你可以将 $checkbox 添加到你的执行数组中,但你应该修改准备好的语句。
- 2 回答
- 0 关注
- 136 浏览
添加回答
举报
0/150
提交
取消