[請益] 關於$session判斷會員權限問題

看板PHP作者 (一水隔天涯)時間10年前 (2013/11/06 09:28), 編輯推噓1(1026)
留言27則, 9人參與, 最新討論串1/1
各位前輩好,小弟最近參考教學書裡製作一個留言版並結合書中會員系統 但在留言版首頁設定session值來判斷會員權限時出了點問題 我希望能將權限admin帶入管理頁面,而權限hr留在留言版首頁 非屬於上述兩項則回到會員系統 但我權限hr也會跟著進到管理頁面,且我不管打什麼網頁都會進入管理頁 懇請各位前輩指點迷津,謝謝 以下是我留言版首頁判斷權限的程式碼 header("Content-Type: text/html; charset=utf-8"); require_once("connMysql.php"); session_start(); $query_RecLogin = "SELECT `m_level` From `memberdata`"; $RecLogin = mysql_query($query_RecLogin); $row_RecLogin=mysql_fetch_assoc($RecLogin); $level = $row_RecLogin["m_level"]; $_SESSION["memberLevel"]=$level; if($_SESSION["memberLevel"]=="admin"){ header("Location:admin.php"); } elseif($_SESSION["memberLevel"]=="hr"){ header("Location:post.php"); } else{ header("Location:http://localhost/phpmember/index.php"); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.250.8.88

11/06 09:39, , 1F
query沒提供id去選出特定會員的m_level
11/06 09:39, 1F

11/06 09:40, , 2F
header 下面的 exit 咧?
11/06 09:40, 2F

11/06 10:12, , 3F
感謝兩位前輩回答,已試過兩位的方法,但hr還是會到管理頁
11/06 10:12, 3F

11/06 10:22, , 4F
echo $level看裡面是什麼東東
11/06 10:22, 4F

11/06 10:26, , 5F
是admin! 可是我用hr登入 請問前輩是哪個環節出錯了!?
11/06 10:26, 5F

11/06 11:02, , 6F
你仔細看看你的SQL, 裡面有包含你登入的資訊嗎?
11/06 11:02, 6F

11/06 11:16, , 7F
問題出在你的SQL阿XD 你的where條件咧?
11/06 11:16, 7F

11/06 11:46, , 8F
先假設你的登入頁面叫做login.php,因為網頁之間彼此獨立
11/06 11:46, 8F

11/06 11:47, , 9F
,要讓其他頁面(如admin.php, post.php)明白目前使用者的
11/06 11:47, 9F

11/06 11:48, , 10F
狀態就必須在login.php內加上能供其他頁面辨識的資料
11/06 11:48, 10F

11/06 11:48, , 11F
感謝各位前輩的答覆 已經成功了! 真是太謝謝您們了
11/06 11:48, 11F

11/06 11:49, , 12F
像是登入成功後,儲存user的id在session中,然後其他頁面
11/06 11:49, 12F

11/06 11:49, , 13F
www 成功就好
11/06 11:49, 13F

11/06 14:17, , 14F
那... 到底是啥問題? 給大家聞香一下嘛~
11/06 14:17, 14F

11/06 14:56, , 15F
就問db一個傻問題 然後隨便撿db回答的第一行來用這樣
11/06 14:56, 15F

11/06 15:46, , 16F
你的SELECT永遠都抓第一筆資料
11/06 15:46, 16F

11/06 16:56, , 17F
感覺貼出來的程式碼有修過,不像永遠都抓第一筆的情況...
11/06 16:56, 17F

11/06 17:06, , 18F
$query_RecLogin沒改過,你再仔細些
11/06 17:06, 18F

11/06 21:31, , 19F
謝謝各位前輩的熱情回答,本來預計要貼修改後的程式碼以及
11/06 21:31, 19F

11/06 21:32, , 20F
一些新的問題來請教各位前輩,但今天事情實在太多
11/06 21:32, 20F

11/06 21:33, , 21F
明天進公司後再用回文方式請教各位,實在太感謝您們了
11/06 21:33, 21F

11/07 01:09, , 22F
不好意思..你網站之後處理sql 應該要用mysqli
11/07 01:09, 22F

11/07 01:09, , 23F
或 pdo class
11/07 01:09, 23F

11/07 01:09, , 24F
不然又會有其他的問題@-@
11/07 01:09, 24F

11/07 06:47, , 25F
檢查的部分改用swich會好一點
11/07 06:47, 25F

11/07 11:16, , 26F
請trace程式,不要用感覺的。
11/07 11:16, 26F

11/07 11:17, , 27F
現在mysqli真的是基本要件了,不要再mysql_*了。
11/07 11:17, 27F
文章代碼(AID): #1IUPiWqn (PHP)