2017-03-11 9 views
0

私はかなり新しいPHPですが、プロジェクトを念頭に置いて、私がここに行くにつれて勉強を強いられたいと思います。 SB Admin 2をフロントエンドテンプレートとして使用しています。私は非常に基本的なログイン/ログアウトは、私が準備されたステートメントを使用する代わりにしなければならなかった古いものをスクラップした後に働いています。表示されるコンテンツを管理するためのテンプレートシステム?

私が指定したユーザーの役割に応じてコンテンツを非表示/表示する方法を決定しようとしているところです。 admindashboard.phpとuserdashboard.phpを作成するだけでなく、ユーザーロール自体に基づいてphpのコンテンツ(サイドバーのメニュー項目など)を非表示にして、1つのdashboard.phpを作成する方が理にかなっています。私は誰かがバックエンドのテンプレートシステムについて言及しているのを見て、私の検索から、私は小枝がかなり人気があるのを見ますが、本当にこれが正しい軌道であると私に伝えるものは何も見つかりません。誰かがこれを助けるかもしれない文書を私に指摘できますか?ありがとう

+2

あなたはPHPについてかなり初心者だと言いましたので、基本的な使い方をしておくことをお勧めします。 Twigは素晴らしいですが、これを最初のユーザーに使用することは過度に複雑になります。 あなたは次のようなことをすることができます: if($ userType == "admin"){require_once( "admindashboard.php"); } else {require_once( "user dashboard.php"); } PHPの基本を学ぶと、CodeIgniter(シンプルなMVCフレームワーク)に行くことができます –

+0

アドバイスありがとうございました! – unknownid

答えて

1

私は準備済みの文を使う代わりに古いものを完全に取り除かなければならないので、非常に基本的なログイン/ログアウトがあります。

回答:あなたのユーザーテーブルに単にroleカラムを入れるだけです。

私が指定したユーザーの役割に応じてコンテンツを非表示/表示する方法を決定しようとしている時点です。

回答:あなたの他を使用し残りの<?php endif; ?>

を終了する間、この<?php if(isset($_SESSION['uid'])!='' && $_SESSION['role']=='Admin'): ?>

のような管理者の使用コードのようにセッション管理を使用すると、ここであなたのナビゲーションバーのHTMLコードを書きますナビゲーションバーやページのセキュリティについて理解していただきたいと思っています。
`

<?php if(isset($_SESSION['uid'])==''){ 
     echo "<script>window.location='index.php';</script>"; } 
    if($_SESSION['role']!='Admin'){ 
    echo "<script>window.location='home.php';</script>"; 
    }elseif($_SESSION['role']=='Employee'){ 
    }else{ $_SESSION['role'];} 
    ?> 

` 


これは最も単純な役割アクセス制御です。 ロールベースのアクセス制御を理解する必要がある場合は、私はそれに答えるつもりの質問をしてください。

+0

ありがとうございます。別のPHPファイルを読み込んでユーザー+管理者にお勧めしますか?だからadminprojects.phpとuserprojects.php?これはより良いアプローチですか? idは理想的には、私が持っているユーザーレベルごとに2つの別々のファイルを持つのではなく、同じ単一のファイルを貼り付けるのが好きです。 <?phpの チェックユーザーの役割、もし管理者 負荷これらのdiv 場合、ユーザー 負荷これらのdiv ?>私が原因のことができます。このアプローチでは、ユーザーと管理者のための別の1の両方に別々のファイルをロードお勧めしたいと思い – unknownid

+0

@unknownidアプリケーションの流れを複雑にすることなく処理します。 –

関連する問題