2017-06-09 6 views
0

Ich versuche herauszufinden, ob es möglich ist, Zugriff auf eine Webseite für bestimmte Benutzer zu erlauben, aber verweigern und umleiten auf die Indexseite, wenn nicht als der richtige Benutzer angemeldet ist.Seite nur für bestimmte Benutzer zugänglich PHP


Arbeiten mit Sitzungen in PHP

if ($SESSION["username"] == "... and ... " { 
allow access 
} else { 
deny access 
} 


so etwas?

+0

besser - Weisen Sie Rollen den Benutzern zu und schränken Sie die Seiten nach der Rolle ein, denn wenn Sie nach Benutzername einschränken, haben Sie viele Bedingungen. – kRicha

+0

Bewährte Methode ist der Zugriff durch Benutzerrollen. anstelle von Benutzername. Die obige Methode, die Sitzung verwendet, ist eine der Methoden, um den Zugriff eines Benutzers zu überprüfen. Aber die Verwendung des Benutzernamens wird nicht empfohlen. Zu viel harte Kodierungen. –

+0

Fügen Sie eine Rollenspalte in Ihrer Datenbank hinzu, und prüfen Sie, ob die Sitzung für den Benutzer existiert und der Benutzer die Rolle hat, um auf diese Seite zuzugreifen, bedeutet "Authentifizierung und Autorisierung" –

Antwort

4

Hier ist, was Sie wollen ..

ein Feld in der Tabelle Benutzer hinzufügen und die Zuweisung von Rollen in ihm. Wie Benutzer, admin etc ...

Wenn Ihre Sitzung starten, ein Session-Variable und weisen Sie den Benutzer eine Rolle festgelegt (aus der Datenbank natürlich ...)

$_SESSION['role'] == "admin"; 

Schließlich können Sie verwenden etwas wie das, um das zu überprüfen -

if((isset($_SESSION['role']) && $_SESSION['role'] == "admin")){ 
    header("location: admin.php"); 
}else{ 
    header("location: index.php"); 
} 

Ich hoffe, das hilft.

0

Ja, das ist möglich

Beispiel:

<?php 
    if(isset($_SESSION['admin'] && $_SESSION['admin'] != ""){ 
      Allow Access; 
      header("location:admin.php"); 
    } else if(isset($_SESSION['user'] && $_SESSION['user'] != ""){ 
      Allow Access; 
      header("location:user.php"); 

    } 
+0

danke für anwsering! aber ich habe nichts wie ein Admin-Konto, nur Namen, mit denen sie sich einloggen. also zB nur "bert", "jack" und "maus" können auf die seite zugreifen wie würde ich das machen? – maus

+0

okay, wenn sie sich anmelden, speichern Sie ihren Namen in Sitzung und überprüfen Sie diese Sitzung auf Seitenkopf wie diese if ($ _ SESSION ['name'] == "bert" || $ _SESSION ['name'] == "maus" || $ _SESSION ['name'] == "jack") { Zugriff erlauben; } –

Verwandte Themen