2012-06-26 3 views
2

Je crée un intranet avec PHP. Il y aura différents privilèges pour différents utilisateurs (administrateur, utilisateur, etc.). Je prévois d'utiliser uniquement PHP et une base de données MySql avec différentes tables.Site web PHP avec structure de privilèges

Je veux savoir quelle est la solution la plus simple et "la mieux adaptée" pour écrire le code de l'intranet, pour séparer "utilisateur" de "admin". Est-ce d'utiliser un "index.php", puis d'utiliser une méthode if/else pour afficher le contenu en fonction des privilèges? comme ceci:

if ($priv == 'admin') 
    display content for admin 

else if ($priv == 'user') 
    display content for user 

ou devrais-je avoir des fichiers différents pour des privilèges différents, par exemple, utiliser un fichier à vérifier d'abord les privilèges et puis ouvrez une autre page en fonction de ce privilège est:

If "admin" 
    OPEN index_admin.php 
else if "user" 
    OPEN index_user.php 

Juste besoin de conseils sur la direction à suivre ici.

L'intranet sera assez simple, avec une fonction timereporting/timetracking pour les employés d'une entreprise de signaler leur temps dans.

Merci

+2

[Le mot-clé vous recherchez ACL] (http://stackoverflow.com/search?q=acl+php) – Gordon

Répondre

1

Vous avez l'essentiel de base de ce que vous avez besoin, mais Je recommande d'utiliser des pages d'auto-traitement. Si vous descendez la route de redirection, les gens peuvent simplement accéder à say, index_admin.php dans leur navigateur.

Je suppose que vous utilisez un système de connexion pour cela - si c'est le cas, il suffit de configurer une table SQL, et avoir une valeur booléenne pour admin. Alors nous pouvons faire; Vous pouvez rendre ceci plus efficace en stockant leur statut d'administrateur dans une session, afin d'éviter des requêtes SQL constantes.

Espérons que cela aide.

  • Eoghan
1

regard en sessions et en haut de chaque page ont cette

<?php session_start(); ?> 

Pour faire des choses avec des variables de session dans votre cas

<?php if ($_SESSION['priv'] == $something) { 
//Do stuff HERE 
} else { 
//And So Fourth 
?>