仅来自用户的登录控制和管理面板加密

时间:2014-12-01 08:51:54

标签: php mysql login

我正在开发一个有两种类型用户的项目,即管理员和单纯用户。现在我想确保用户无法通过输入admin.php或任何其他管理页面的URL来访问管理页面。问题出在我的login.php代码上,我允许他们两个都使用相同的登录页面标题。我有下面的login.php,也许可以帮助我如何使用我的if语句控制那个或会话。

        <?php 
        session_start();

        include_once("connect.php");

        $un = $_POST['un'];
        $pw = $_POST['pw'];

        mysql_select_db("pp",$con);

        $query = "SELECT * FROM user WHERE user_id='$un' AND password='$pw'";

        $result= mysql_query($query);

        if ($row = mysql_fetch_array($result))



        {

        if ($row['role']=="user") {

            $_SESSION['user_id']=$row['user_id'];
            $_SESSION['loggedIn']=1;
            header("Location: employee_home.php");


            }

        else { header("Location: admin.php");
        $_SESSION['loggedIn']=1;}   

        }

        else { header("Location: index.php?log=error"); 
        }

        ?>

2 个答案:

答案 0 :(得分:1)

您可以查看角色。

**Type**    **Role**
User 1    1(Users)
User 2    2(Admins)


    if ($row['role']==1) {
        $_SESSION['user_id']=$row['user_id'];
        $_SESSION['loggedIn']=1;
        header("Location: employee_home.php");
        }
    else if($row['role']==2) { 
       header("Location: admin.php");
       $_SESSION['loggedIn']=1;}   
    }
    else { header("Location: index.php?log=error"); 
    }

在admin.php中,检查用户角色是否为&lt; 2然后,重定向到错误页面或访问被拒绝的页面。

基本上,您还需要在admin.php中添加条件。

答案 1 :(得分:0)

复制

Refer this question

<?php
  session_name('MyAdminSession');
  session_start();

  if (isset($_POST['userid']) && isset($_POST['password'])) {
    $userid = $_POST['userid'];
    $password = md5($_POST['password']);

    if ($userid == 'myusername' && $password == md5('mypassword')) {
      $_SESSION['logged_in'] = true;
      header('location: admin.php');
      exit;
    }
  }
?>
相关问题