實現不同的用戶登錄到主界面后顯示不同的功能——權限管理


 登陸頁面    2.php      

 

 1 <title>無標題文檔</title>
 2 </head>
 3 
 4 <body>
 5 <h1>登陸頁面</h1>
 6 
 7 <form action="1.php" method="post">
 8 <div>用戶名:<input type="text" name="uid" /></div>
 9 <div>密碼:<input type="password" name="pwd" /></div>
10 <input type="submit" value="登錄" />
11 </form>
12 </body>
13 </html>

 

 

 

 

 

 

登陸頁面的后台處理頁面           1.php

 

 1 <?php
 2 session_start();
 3 $uid = $_POST["uid"];
 4 $pwd = $_POST["pwd"];
 5 
 6 require "./DBDA.class.php";
 7 $db = new DBDA();
 8 $sql = "select pwd from users where uid='{$uid}'";
 9 $mm = $db->strquery($sql);
10 
11 if($mm==$pwd && !empty($pwd))
12 {
13     //在跳轉頁面前要把用戶名存一下,因為這個用戶名在主頁面3.php里面會使用到的。
14     $_SESSION["uid"] = $uid;
15     header("location:3.php");
16 }
17 else
18 {
19     echo "用戶名和密碼錯誤!";
20 }

 

 

 

 

 

 

主界面    3.php

 1 <title>無標題文檔</title>
 2 <style type="text/css">
 3 .list{ width:100px; height:35px; border:1px solid #0CF;
 4 margin:0px 2px 0px 2px; text-align:center; vertical-align:middle; line-height:35px;}
 5 </style>
 6 </head>
 7 
 8 <body>
 9 <h1>主頁面</h1>
10 <!--對於不同的用戶登錄進來后它所擁有的功能是不一樣的,因為通過權限划分了-->
11 <!--在后台可以通過用戶名來查到它的角色,再通過它所擁有的角色可以查到它所擁有的功能-->
12 
13 <!--這時候就要考慮下怎樣才能讓不同的人顯示出不同的功能-->
14 <!--還是用div來顯示菜單-->
15 <?php
16 //到這個主頁面了就說明是登陸過的,首先要知道這個登陸者是誰,可以從session里面取到它的用戶名
17 session_start();
18 //從session里面取用戶名,如果他沒有登陸的話就不讓他訪問這個頁面。
19 //先定義一個uid為空
20 $uid="";
21 //加個if判斷一下如果session里面沒有存uid的話就讓他返回登陸頁面讓他登錄
22 if(empty($_SESSION["uid"]))
23 {
24     header("location:2.php");
25     exit;  //然后退出程序
26 }
27 
28 
29 //如果沒有走if的話就說明通過了登錄所以下面就要顯示主頁面里該用戶擁有的功能
30 $uid = $_SESSION["uid"];  //這樣是取到了當前登陸者的用戶名
31 
32 //取到用戶名之后,就要根據用戶名查角色,根據角色查功能 需要實現這么一個步驟
33 //通過使用數據庫無關子查詢來實現這個步驟
34 //子查詢就是這個叫做外層查詢叫做父查詢,父查詢使用到的條件是子查詢的結果
35 
36 require "./DBDA.class.php";
37 $db = new DBDA();
38 
39 //最終我們是要得到功能的名稱
40 //因為一個用戶可以對應多種角色,每一種角色可以對應多種功能,所以code后面肯定不能寫"=",寫等於的話
41 //就只能查一個功能名稱 所以要用 in
42 
43 $sql = "select * from rules where code in (select distinct ruleid from juesewithrules where jueseid in (select jueseid from userinjuese where userid = '{$uid}'))";
44 //通過這條SQL語句就可以去找到該人員下面所擁有的功能了
45 
46 
47 $arr = $db->query($sql);
48 //這個$arr數組里面就是功能了  也就是這個登陸的人所擁有的功能了
49 //有功能了就遍歷一下這個數組然后數組里面只要有一個功能就輸出一個div
50 foreach($arr as $v)
51 {
52     //在div里面加一個class等於list來給每一個輸出的功能的div添加樣式
53     echo "<div code='{$v[0]}' class='list'>{$v[1]}</div>";
54 }
55 
56 ?>
57 </body>
58 </html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM