0

您好我正在尝试创建一个管理员登录。在我的 mysql 数据库中,在表“users_table”中,我有字段 admin 并且它的默认值 = N 但如果它等于 Y 则直接将其 Admin.php 这里是我当前用于启动新会话的代码,我想知道是否我可以把它放在那里,如果它确实 = Y 然后说会话'Admin'启动并重定向到 Admin.php 而不是 $_SESSION['name'] (顺便说一句,'name' 是我数据库中的字段 1 和字段 'admin ' 是 7

    <?php
session_start();
    include ('condb.php');

   $name = $_POST ['username'];
   echo $name;
   $query ="SELECT name FROM users_table WHERE (name = '$name')" ;
   $result = mysql_query($query)
    or die (mysql_error($con)); 
 $row= mysql_num_rows($result);  
 if ($row=1){
 $_SESSION['name'] = $row[1];
  }         
    ?>
4

1 回答 1

2

除了强制性的 SQL 注入,你还尝试过什么?这说“这是我的代码,修复它”。请阅读(最近的)PHP + MySQL 教程,它将为您指明 PDO。真的,给它读一读。

与此同时,这样的事情可能会奏效:

$rowcount = mysql_num_rows($result);
if ($rowcount == 1){
    $row = mysql_fetch_array($result);
    $_SESSION['name'] = $row['name'];
    if ($row['admin'] == 'Y')
    {
        $_SESSION['admin'] = $row['admin'];
        header("Location: admin.php");
        exit();
    }
}         
于 2012-06-12T09:24:40.177 回答