【发布时间】:2011-03-05 10:19:35
【问题描述】:
在我正在设计的网站中,管理列表页面会显示名称、电子邮件、用户名和状态等字段(无论是活动用户还是非活动用户)。我的数据库有一个名为 admin 的表。这些字段是iAdminId、vFirstName、vLastName、vEmail、vUserName、vPassword、vFromIP、vFromIP、dLastLogin 和 eStatus。在等效的 PHP 页面(管理员列表页面)中,我添加了一个活动和非活动按钮。每行都有复选框。管理员选择的行数将在他/她单击 Active 或 Inactive 按钮后更新(当然是在确认后)。
我的激活码是:
function activeRecord()
{
var count = getCount();
if(count == 0)
{
alert("Please enter some records for activation first!!");
}
else
{
var c = confirm("Do you wish to activate?");
if(c==true)
{
document.frm.mode.value="Active";
document.frm.submit();
}
else
{
alert("You had wrongly selected 'Active' option!!");
}
}
}
getCount 返回所选记录的数量。 而PHP代码是
if($mode=="Active")
{
for($i=0;$i<count($_POST['ch']);$i++)
{
$active = "UPDATE admin SET eStatus = 'Active' WHERE iAdminId = '" . $_POST['ch'][$i] . "'";
$result = mysql_query($active,$conn);
}
}
即使在选择它之后也不会删除选定的记录。我也尝试过回显。
echo $active = "UPDATE admin SET eStatus = 'Active' WHERE iAdminId = '" 。 $_POST['ch'][$i] 。 "'";
“ch”是所有复选框的数组名
它显示: UPDATE admin SET eStatus = 'Inactive' WHERE iAdminId = ''
任何帮助将不胜感激。提前致谢
ch 用作:
请帮忙。这很紧急。谢谢大家
【问题讨论】:
-
您的表单看起来如何?它应该看起来像
<input name="ch[0]" value="[the_id]">。您也应该清理/验证您的输入,SQL 注入是可能的。