Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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 用户的登录控制和管理面板加密_Php_Mysql_Login - Fatal编程技术网

Php 用户的登录控制和管理面板加密

Php 用户的登录控制和管理面板加密,php,mysql,login,Php,Mysql,Login,我正在从事一个有两类用户的项目,即管理员和纯用户。现在,我想通过输入admin.php的url或任何其他管理员页面,确保仅仅是用户登录后无法访问管理员页面。问题出在我的login.php代码上,因为我允许它们使用相同的登录页面标题。我有下面的login.php,也许可以帮助我如何使用if语句来控制它或会话 <?php session_start(); include_once("connect.php"); $un =

我正在从事一个有两类用户的项目,即管理员和纯用户。现在,我想通过输入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"); 
        }

        ?>
您可以检查角色

**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中,检查用户角色是否小于2,然后重定向到错误页面或拒绝访问页面

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

重复



嘿,这只适用于一个用户管理员。我在一个登录页面指导两个用户,即管理员和管理员users@mountain会话中有两个值&包括一个公共文件到所有管理页面,如果会话不可用,则重定向到登录页面。我已经解决了这个问题。会话控件是最好的。使用2作为管理会话。@mountain ok干得好…在我的admin.php中,如果(!empty($\u session['loggedIn'])&($\u session['loggedIn']==2)){//在此处编写代码,}
<?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;
    }
  }
?>