重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
顯示沒有權限,看看用戶名有沒有起作用。Access denied for user ''@'localhost' ,中間沒有提示用戶名是什么。
創新互聯建站是一家專注于成都網站制作、成都網站建設與策劃設計,昌邑網站建設哪家好?創新互聯建站做網站,專注于網站建設10年,網設計領域的專業建站公司;建站業務涵蓋:昌邑等地區。昌邑做網站價格咨詢:18980820575
或者是該用戶沒有對數據庫操作權限,可以用phpMyAdmin登錄對其權限修改。
利用session和cookie實現,
session是保存在服務器的會話記錄,當管理員登陸后,對于每個管理操作,都有一段PHP代碼用于檢查session中的用戶是否管理員身份,是則允許管理操作;
cookie是保存在瀏覽器的登陸數據,譬如登陸之后瀏覽器存下了用戶名和登陸密碼,每次與服務器的會話都向服務器發送cookie的數據,此過程中PHP提取cookie里的用戶名和密碼信息進行校驗,通過后允許管理操作。
這個網上方法挺多的,個人認為最簡單的就是在管理員表加個權限字段,在顯示欄目處加個判斷,不過這種方法不是很安全;再就是在數據庫建張node表、role表、role_user表、access表,其中node表存放結點,也就是欄目,role表存放權限,role_user表就是用戶權限表,access表存放node_id、role_id等,不過中間有好多細節需要好好琢磨
if(){ //有權限 echo "form ";echo "input type='' ";echo "/form";}else //不顯示{}
相當于PHP里判斷有權限就輸出帶表單的語句 否則不輸出 這樣客戶端就看不到了
可以使用acl控制實現,參考acl全集如下:
1、角色表
角色id - 用戶組id - 特殊權限id(其中特殊權限 用戶組所包含權限)
2、用戶組表
用戶組id - 用戶組信息
3、權限表
權限表id - 權限信息 - 與功能模塊的關系
4、用戶組-權限關聯表
用戶組id - 權限集合
5、特殊權限表
特殊權限id - 權限集合
注意:
1、設置權限的刪除、添加主要圍繞在 用戶組-權限關聯表、特殊權限表。
2、用戶的權限獲取則是驗證登陸的時候通過用戶組和特殊權限獲取權限集合。
3、展示的時候,根據2獲取的權限集合從權限表獲取所有功能模塊的導航菜單。
我在遇到權限分級的時候是用$_SESSION來控制的,值是1就允許查看,是0就不允許
可在登陸的時設置,也可以在查詢的時候設置
然后根據$_SESSION設置sql語句,大致如下
在登陸時根據filldname字段設置$_SESSION
if($row["filldname"]=="price"){
$_SESSION["quanxian"]=1;
}else{
$_SESSION["quanxian"]=0;
}
然后查詢時根據條件設置sql語句
if($_SESSION["quanxian"]==1){
$sql="select?po,pohh,wlbh,gysdm,dj,pddte?from?table?where?查詢條件";
}else{
$sql="select?po,pohh,wlbh,gysdm,pddte?from?table?where?查詢條件";
}
大致上就是這樣
期待更出色的答案