J'ai lu quelques articles qui sont très similaires à la question que je vais poser, mais je voulais juste être sûr qu'il n'y avait pas de façon plus sophistiquée de fais ceci. Tout commentaire est grandement apprécié.passer les paramètres à php include/require construct
Je veux créer un mécanisme pour vérifier si un utilisateur connecté a accès au script php qui est actuellement appelé. Si c'est le cas, le script continuera; sinon, le script échoue juste en utilisant quelque chose comme die('you have no access')
.
je suis venu avec deux façons d'y parvenir:
(s'il vous plaît prendre mes affaires de session est codé/fonctionne très bien - à savoir que j'appelle session_start(), mis en place la session vars correctement et etc)
Définissez d'abord une variable globale, puis vérifiez la variable globale dans un fichier d'en-tête obligatoire. Par exemple:
Contenu de current_executing_script.php:
// the role the logged in user must have to continue on $roleNeedToAccessThisFile = 'r'; require 'checkRole.php''
Contenu de checkRole.php:
if ($_SESSION['user_role'] != $roleNeedToAccessThisFile) die('no access for you');
Définir une fonction dans le fichier d'en-tête et appeler la fonction immédiatement après, y compris/nécessitant il:
Contenu de checkRole.php:
function checkRole($roleTheUserNeedsToAccessTheFile) { return ($_SESSION['user_role'] == $roleTheUserNeedsToAccessTheFile); }
Contenu de current_executing_script.php:
require 'checkRole.php'; checkRole('r') or die('no access for you');
Je me demande s'il y a un moyen de passer fondamentalement juste un paramètre à checkRole.php dans le cadre de l'include ou require construire?
Merci d'avance.
Merci Spudley, alors il semblerait que vous ayez l'impression que mon approche n ° 2 est la voie à suivre. Merci encore. – JoJoeDad