0

ユーザーのタイプが「管理者」と「ユーザー」であるユーザー管理システムがあります。ログインしたユーザーが管理者である場合、彼はいくつかのページにアクセスできます。ロールがユーザーの場合、彼は 1 ページのみにアクセスできます。ユーザーがURLを渡すだけで情報に不正にアクセスしないように、管理者/ユーザーのセッションを保存し、彼が「管理者」であるかどうかを毎回確認する必要があります。今のところ、ユーザーの名前は保存できますが、役割は保存できません。ROLE を次の一連のページに渡すにはどうすればよいですか。

ホーム.php

   session_start();
   if( $_SESSION["logging"] && $_SESSION["logged"] )
  {
  echo $_SESSION[user];
  //Can be accessed only by admin 
  dashboard();
  }
  if(!$_SESSION["logging"])
   { 
  $number_of_rows=checkpass();
     if($number_of_rows==1)
        {   
         $_SESSION[user]=$_GET[userlogin];
         $_SESSION[logged]=true;
         print"<h1>you have loged in successfully</h1>";
         if($res['ROLE']=='user')
         {
                      //Accessible only by user.
         print "<h3><a href='user.php'>View Users</a></h3>";
                 logout();
         }
        }
        else
        {
            print "Please enter your log in information!";  
            loginform();
        }
    } 
    function checkpass()
    {
     //Database query
     if($res['ROLE']=='admin')
     { 
       //Redirected 
       dashboard();
     }
4

2 に答える 2

1

これを使って

if($res['ROLE']=='user')
{
     $_SESSION['ROLE'] = "user";
                  //Accessible only by user.
     print "<h3><a href='user.php'>View Users</a></h3>";
     logout();
}

if($res['ROLE']=='admin')
 { 
   $_SESSION['ROLE'] = "admin";
   //Redirected 
   dashboard();
 }

ROLE他のページで使用するため

echo $_SESSION['ROLE'];
于 2013-02-22T10:37:11.140 に答える
1

これを追加する必要がありました

$_SESSION['role']= role of the user;

他のページで $_SESSION['role'] を取得します。

于 2013-02-22T10:37:14.583 に答える