寻找最佳方式(Ajax,HTML复选框问题)

时间:2011-02-22 13:32:56

标签: php ajax

我正在开展一个项目。假设如果管理员单击已批准的复选框,则使用ajax激活帐户。如果管理员点击禁止的复选框,则用户从数据库中停用。 我不知道最好的方法是什么。任何建议都非常感谢你。

这是已批准的复选框。

<input type="checkbox" id="q" value="<?php echo $userid;?>" onchange="User(this.value)"/>
<input type="hidden" name="doAction" id="doAction" value="Approved" />

这是已批准的复选框。

<input type="checkbox" id="q" value="<?php echo $userid;?>" onchange="User(this.value)"/>
<input type="hidden" name="doAction2" id="doAction2" value="Banned" />

这是我的ajax短代码

if('Approved' == doAction) 
{

    xmlhttp.open("GET","adminPanel.php?q="+str+"&doAction="+doAction,true);
    xmlhttp.send();
}
else if ('Banned' == doAction2) 
{


    xmlhttp.open("GET","adminPanel.php?q="+str+"&doAction="+doAction2,true);
    xmlhttp.send();
}

2 个答案:

答案 0 :(得分:1)

是的,这是一种合理的方式。虽然您不应该在表单中输出userid值,并依赖它来授权用户。因为您不能相信“q”参数指定了正确的用户。相反,您应该检查用户会话cookie对应的用户标识。如果该用户ID只是普通用户而不是管理员,那么该用户显然不会禁止其他用户。然后,像往常一样,验证adminPanel.php中的doAction参数,否则你将打开自己的SQL注入攻击。

同时查看jQuery,这样可以更轻松地进行AJAX调用。

答案 1 :(得分:0)

现在我的代码工作了。这是我的改变。

<input type="checkbox" id="q" value="<?php echo $userid;?>"  onchange="approveUser(this.value,doAction.value)" />
<input type="hidden" name="doAction" id="doAction" value="Approved" />

<input type="checkbox" id="q" value="<?php echo $userid;?>"  onchange="approveUser(this.value,doAction.value)" />
<input type="hidden" name="doAction" id="doAction" value="Approved" />

我又向ajax函数传递了一个参数。现在它的工作

xmlhttp.open("GET","adminPanel.php?q="+str+"&doAction="+action,true);
    xmlhttp.send();