Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在不显示记录ID的情况下唯一标识记录?_Php_Mysql - Fatal编程技术网

Php 如何在不显示记录ID的情况下唯一标识记录?

Php 如何在不显示记录ID的情况下唯一标识记录?,php,mysql,Php,Mysql,在我正在设计的网站中,管理员列表页面显示了姓名、电子邮件、用户名和状态(无论是活跃用户还是非活跃用户)等字段。我的数据库有一个名为admin的表。这些字段是iAdminId、vFirstName、vLastName、vEmail、vUserName、vPassword、vFromIP、vFromIP、dLastLogin和eStatus 在等效的PHP页面(管理列表页面)中,我需要添加一个删除按钮。每行都有复选框。管理员选择的行数将在单击“删除”按钮后删除(当然,在确认后)。我的问题是,因为我在

在我正在设计的网站中,管理员列表页面显示了姓名、电子邮件、用户名和状态(无论是活跃用户还是非活跃用户)等字段。我的数据库有一个名为admin的表。这些字段是iAdminId、vFirstName、vLastName、vEmail、vUserName、vPassword、vFromIP、vFromIP、dLastLogin和eStatus

在等效的PHP页面(管理列表页面)中,我需要添加一个删除按钮。每行都有复选框。管理员选择的行数将在单击“删除”按钮后删除(当然,在确认后)。我的问题是,因为我在我的列表页面中没有提到iAdminId字段,如何唯一地标识每个记录

我要删除的脚本代码是:

function deleteRecord()
{
    var count = getCount();
    if(count == 0)
    {
      alert("Please enter some records for deletion first!!");
    }
    else
    {
      var c = confirm("Do you wish to delete?");
      if(c==true)
      {
        document.frm.mode.value="Delete";
        document.frm.submit();
      }
      else
      {
        alert("You had wrongly selected 'Delete' option!!");
      }
    }

  }
getCount返回所选记录的数量。 PHP代码是

if($mode=="Delete")
{
    for($i=0;$i<count($_POST['ch']);$i++)
    {
      $delete = "DELETE FROM admin WHERE Name = '".$_POST["ch"][$i]."'";
      $result = mysql_query($delete);
    }
}
if($mode==“Delete”)
{
对于($i=0;$i我会将复选框的值(有时人们使用元素的name或ID属性)设置为“admin_n”或“user_n”,其中n=ID。当按下delete后提交表单时,可以解析该名称以拉出ID并以这种方式进行处理


这当然会在源代码中给出用户的ID,但这并不是一个真正的问题,除非您的代码中存在疯狂的安全漏洞。

如果电子邮件对每个用户都是唯一的,并且您有确保这种唯一性的检查,那么它可以用于其他用户,没有简单的方法可以做到这一点。唯一的方法是将ID放在列表中. 这是每行的唯一标识符,因为可以重复使用任何列的组合。 另一个选项是跨上述两个字段创建复合主键,或在电子邮件字段上创建唯一键


例如,确保电子邮件是唯一的,或者名字和姓氏的组合是唯一的。

您介意在客户端源代码中显示此ID吗?非常感谢。这可能是唯一可用的方法。再次感谢