Ich habe schon ein paar Posts gelesen, die der Frage, die ich stellen möchte, sehr ähnlich sind, aber ich wollte nur sicher sein, dass es keinen ausgeklügelteren Weg gab mach das. Jede Rückmeldung wird sehr geschätzt.Parameter an php übergeben includes/require construct
Ich möchte einen Mechanismus erstellen, um zu überprüfen, ob ein angemeldeter Benutzer Zugriff auf das PHP-Skript hat, das gerade aufgerufen wird. Wenn dies der Fall ist, wird das Skript weiter ausgeführt. Wenn nicht, scheitert das Skript mit etwas wie die('you have no access')
.
kam ich mit zwei Möglichkeiten auf, dies zu erreichen:
(bitte übernehmen wird meine Session Sachen codiert/adaequat - also nenne ich session_start(), die Sitzung einzurichten vars richtig und etc)
Definieren Sie zuerst eine globale Variable und überprüfen Sie dann die globale Variable in einer erforderlichen Header-Datei. Zum Beispiel:
Inhalt des current_executing_script.php:
// the role the logged in user must have to continue on $roleNeedToAccessThisFile = 'r'; require 'checkRole.php''
Inhalt des checkRole.php:
if ($_SESSION['user_role'] != $roleNeedToAccessThisFile) die('no access for you');
eine Funktion innerhalb der Header-Datei definieren und die Funktion unmittelbar nach einschließlich Anruf/erfordern es:
Inhalt des checkRole.php:
function checkRole($roleTheUserNeedsToAccessTheFile) { return ($_SESSION['user_role'] == $roleTheUserNeedsToAccessTheFile); }
Inhalt des current_executing_script.php:
require 'checkRole.php'; checkRole('r') or die('no access for you');
Ich frage mich, ob es einen Weg gibt im Grunde nur passieren, einen Parameter zu checkRole.php als Teil des Includes oder konstruieren erfordern?
Vielen Dank im Voraus.
Dank Spudley, so klingt es wie Sie fühlen, dass mein Ansatz # 2 der Weg ist, dann zu gehen. Danke noch einmal. – JoJoeDad