【发布时间】:2021-08-31 16:30:25
【问题描述】:
我什至不知道如何写这个问题,但我有一个复选框列表,我可以使用 php 将它们的数据作为 json 插入到我的数据库中。我现在想要的是当我打开页面而不刷新时,抓住需要检查的 json 和复选框并将其他的留空。
我知道 ajax 可以解决这个问题,但我没有任何 ajax 技能
我的 HTML
<div style='display:none;' id="priv">
<li><input name="chk[]" id="settings" value="settings" type="checkbox">Can Access Settings</input></li>
<li><input name="chk[]" id="view_team" value="view_team" type="checkbox">Can View Team Data</input> </li>
<li><input name="chk[]" id="delete_team" value="delete_team" type="checkbox">Can Delete Team Profile</input></li>
<li><input name="chk[]" id="edit_team" value="edit_team" type="checkbox">Can Edit Team Profile</input> </li>
在这些复选框之前是一个选择菜单,其中包含一些项目,所以每当我选择一个项目时,它应该向我的数据库发送一个请求,获取选中的值并相应地填写这些复选框
<select onchange="showDiv('priv', this)" id="role_selector" name="roles">
<option value='0' disabled selected >Please Choose</option><
<option value='0' disabled selected >Admin</option>
<option value='0' disabled selected >Editor</option>
我有一个 javascript 函数来显示和隐藏包含复选框的 div
function showDiv(divId, element){
document.getElementById(divId).style.display = element.value == 1 ? 'block' :'none';
}
我的 PHP 代码
if (isset($_POST['chk'])) {
$access=$_POST['chk'];
}
$json=json_encode($access);
$sql= "UPDATE `roles` SET privilege='$json' WHERE `id`=$role_id ;";
【问题讨论】:
-
分享你的完整代码,我可以重写代码
-
良好的代码缩进将帮助我们阅读代码,更重要的是,它将帮助您调试代码Take a quick look at a coding standard 为您自己的利益。您可能会被要求在几周/几个月内修改此代码,最后您会感谢我的。
-
@karzanNawzad 特别是服务器端代码。
-
您的脚本对SQL Injection Attack 开放。即使是if you are escaping inputs, its not safe!,您也应该始终在
MYSQLI_或PDOAPI 中使用prepared parameterized statements,而不是将用户提供的值连接到查询中。永远不要相信任何用户输入! -
学习错误的方法然后正确的方法要么是浪费时间和精力,要么你很可能永远不会学习正确的方法
标签: javascript php html ajax