2017-04-06 18 views
0

私は2つのテーブルadminとsuperadminを持っています。私は ユーザーのログインページは同じです。私はquery.iに従ってログインすることができ、両方とも ユーザーのためのセッションを作成していました。各テーブルにはカラム名roleIDがあります。スーパー管理者のロールIDは 、管理者ロールIDは2です。以下はi のセッションを作成するログイン用のコードです。私はprint_rを使用し、私のセッションは機能しています。以下はログインページの のコードです。 phpのセッションに従ってメニューを表示するには?

if (isset($_REQUEST['submit'])) 
{ 
     $username = $_REQUEST['user']; 
     $password = $_REQUEST['pass']; 
     $sql = mysqli_query($conn,"SELECT * FROM `accountants` where `acc_email` = '".$username."' AND `acc_pass` = '".$password."'"); 
     $data = mysqli_fetch_array($sql);   
     $_SESSION['role0']=$data['roleId']; 
     $_SESSION['username']=$data['acc_name']; 
     $sql1 = mysqli_query($conn,"SELECT * FROM `superadmin` where `username` = '".$username."' AND `password` = '".$password."'"); 
     $data1 = mysqli_fetch_array($sql1);   
     $_SESSION['role1']=$data1['roleId']; 
     if ($data>0) 
      { 
       header('Location: societyList.php'); 
      } 
     elseif ($data1>0) { 
       header('Location: home.php'); 
     } 

     else 
      { 
       header('Location: index.php'); 
       echo 'incorrect login'; 
      } 
} 

は今home.phpに私は、メニューのための私の コードをroleIDするaccoording表示するには、いくつかのメニューを持っています。

<div id="sidebar-menu" class="main_menu_side hidden-print main_menu"> 
    <div class="menu_section"> 
    <h3>General</h3> 
    <ul class="nav side-menu">   
     <li><a><i class="fa fa-home"></i> Home <span class="fa fa-chevron-down"></span></a> 
     <ul class="nav child_menu">      
      <li><a href="index01.php">Create Society</a></li>      
     </ul> 
     </li> 
     <li><a><i class="fa fa-home"></i> Master <span class="fa fa-chevron-down"></span></a> 
     <ul class="nav child_menu">      
      <li><a href="index1.php">Units</a></li> 
      <li><a href="index2.php">Members</a></li> 
      <li><a href="index2.php">Parking Lots</a></li> 
      <li><a href="index2.php">Charges</a></li> 
      <li><a href="index2.php">Chart of Account</a></li> 
      <li><a href="index2.php">Interest Penalties</a></li> 
      <li><a href="form_buttons.php">Billing Templates</a></li> 
      <li><a href="form_buttons.php">Tax Structure</a></li> 
     </ul> 
     </li> 
     <li><a><i class="fa fa-edit"></i> Transactions <span class="fa fa-chevron-down"></span></a> 
     <ul class="nav child_menu"> 
      <li><a href="form.php">Bill</a></li> 
      <li><a href="form_advanced.php">Collection</a></li> 
      <li><a href="form_validation.php">Expenses</a></li> 
      <li><a href="form_wizards.php">Journal</a></li> 
      <li><a href="form_upload.php">Bank Reco</a></li> 
      <li><a href="form_buttons.php">Drop Box</a></li> 
      <li><a href="form_upload.php">Online Payment</a></li>   
     </ul> 
     </li> 
     <li><a><i class="fa fa-desktop"></i> Reports <span class="fa fa-chevron-down"></span></a> 
     <ul class="nav child_menu"> 
      <li><a href="general_elements.php">Income & Expenses</a></li> 
      <li><a href="media_gallery.php">Balance Sheet</a></li> 
      <li><a href="typography.php">Cash Flow</a></li> 
      <li><a href="icons.php">Interest Calculation</a></li>      
     </ul> 
     </li> 
     <li><a href="tables.php"><i class="fa fa-table"></i> Notices <span class="fa fa-chevron-down"></span></a> 
     </li> 
     <li><a><i class="fa fa-bar-chart-o"></i> Registers <span class="fa fa-chevron-down"></span></a> 
     <ul class="nav child_menu"> 
      <li><a href="chartjs.php">Form-I</a></li>      
     </ul> 
     </li>  
     <li><a><i class="fa fa-clone"></i> Forum <span class="fa fa-chevron-down"></span></a> 
     <ul class="nav child_menu"> 
      <li><a href="fixed_sidebar.php">Cultural Activity</a></li>      
     </ul> 
     </li> 
     <li><a><i class="fa fa-edit"></i> Domestic Help <span class="fa fa-chevron-down"></span></a> 
     <ul class="nav child_menu"> 
      <li><a href="form.php">Request for Plumber</a></li> 
      <li><a href="form_advanced.php">Request for Maid</a></li> 
      <li><a href="form_validation.php">Request for House Cleaner</a></li>      
     </ul> 
     </li> 
     <li><a><i class="fa fa-edit"></i> Emergency <span class="fa fa-chevron-down"></span></a> 
     <ul class="nav child_menu"> 
      <li><a href="form.php">Ambulance</a></li> 
      <li><a href="form_advanced.php">Fire Brigade</a></li> 
      <li><a href="form_validation.php">Police</a></li>      
     </ul> 
     </li> 
     <li><a><i class="fa fa-edit"></i> Helpdesk <span class="fa fa-chevron-down"></span></a> 
     <ul class="nav child_menu"> 
      <li><a href="form.php">Request NOC for Tenancy</a></li> 
      <li><a href="form_advanced.php">Request NOC for Home Loan</a></li> 
      <li><a href="form_validation.php">Request NOC for Mortgage as collateral</a></li> 
      <li><a href="form_wizards.php">Request for Vehicle Parking</a></li> 
      <li><a href="form_upload.php">Application for Transfer</a></li> 
      <li><a href="form_buttons.php">Request for waiver of interest</a></li> 
      <li><a href="form_buttons.php">Request for waiver of a charge</a></li> 
      <li><a href="form_buttons.php">Suggestion</a></li> 
      <li><a><i class="fa fa-edit"></i><span class="fa fa-chevron-down"></span>Complaint</a> 
      <ul class="nav child_menu"> 
       <li><a href="form_buttons.php">About leakage</a></li> 
       <li><a href="form_buttons.php">About tenants issues</a></li> 
       <li><a href="form_buttons.php">About parking nuisance</a> 
      </ul> 
      </li> 
     </ul> 
     </li> 
     <li><a><i class="fa fa-edit"></i> CFO Desk Assists <span class="fa fa-chevron-down"></span></a> 
     <ul class="nav child_menu"> 
      <li><a href="form.php">Tenant Rating</a></li> 
      <li><a href="form_advanced.php">Owners Rating</a></li> 
      <li><a href="form_validation.php">Your Reviews</a></li>      
     </ul> 
     </li> 
     <li><a><i class="fa fa-edit"></i> Masters <span class="fa fa-chevron-down"></span></a> 
     <ul class="nav child_menu"> 
      <li><a href="form.php">Auto Bank reconcilliation</a></li> 
      <li><a href="form_advanced.php">AMC Masters</a></li> 
      <li><a href="form_validation.php">Auto Adjust pending reference</a></li> 
      <li><a href="form_wizards.php">Default GL for defined transactions</a></li>      
     </ul> 
     </li> 
    </ul> 
    </div> 
</div> 

あなたがリストを見ることができるように。セッション中に$_SESSION['role0']=$data['roleId'];の場合、最初の4つのリストが彼のためだけに表示されます。 セッション中に$_SESSION['role1']=$data['roleId'];の場合、残りのすべてのリストが彼に表示されます。 これを行う方法は同じで私を助けてください。私は条件が何も表示されない場合、私がこのように使用する場合、 if{$_REQUEST($_SESSION['role0']) echo 'some lists'; } のような条件を使用します。

+2

あなたのコードはSQLインジェクション攻撃に対して脆弱です。 [mysqli](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)または[PDO](http://php.net/manual/en/pdo.prepared- statements.php)は、[this post](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)で説明されているように準備された文です。 ($ _SESSION ['role0'])){}は、次のようになります。 –

+0

_if {$ _ REQUEST($ _ SESSION ['role0']) –

答えて

0

セッションデータは$ _REQUESTに保存されています。

$_SESSION['role0']=$data1['roleId']; 
$_SESSION['role1']=$data1['roleId']; 

「role0」と「role1」の両方が同じ値になります。そして、使用

$_SESSION['role']=$data1['roleId']; 

if($_SESSION['role'] === 1) { 
    echo 'admin role 1'; 
    echo 'Show first half of menu'; 
} elseif ($_SESSION['role'] === 2) { 
    echo 'Show second half of menu'; 
} else { 
    echo 'Other or missing admin value. show no menu'; 
} 

SQLインジェクションは、それが現在書かれている方法で可能であることをに簡素化することができます。準備されたステートメントは、次に追加するのが良いでしょう。

関連する問題