Die Anmeldeprüfung ist eine häufige Voraussetzung für die Webentwicklung. Wenn ein Benutzer eine Seite besucht, die angemeldet werden muss, um sie anzeigen Wenn der Benutzer nicht angemeldet ist, müssen wir uns auf die Anmeldeseite umleiten. Zu diesem Zeitpunkt ist die Kombination der Funktion der Header -Funktion und der ISSet () in PHP ein sehr praktisches Instrument.
In diesem Artikel wird ausführlich erläutert, wie die Funktion Header () und ISSet () verwendet werden, um den Anmeldestatus zu bestimmen und den vollständigen Umleitungsvorgang durchzuführen.
Die Header () -Funktion wird verwendet, um die ursprünglichen HTTP -Header -Informationen zu senden. Über diese Funktion können wir den HTTP -Statuscode, den Inhaltstyp, die Cache -Steuerung und andere Informationen festlegen und auch die Umleitung von Seiten durchführen.
Gemeinsame Verwendung sind:
header("Location: http://www.m66.net/login.php");
exit;
Der obige Code leitet den Browser in http://www.m66.net/login.php um. Ausfahrt; soll sicherstellen, dass das Skript die Ausführung nach der Umleitung stoppt, um Störungen aus dem nachfolgenden Code zu vermeiden.
Die Funktion isset () wird verwendet, um festzustellen, ob eine Variable festgelegt wurde und ihr Wert nicht null ist. Es wird häufig verwendet, um festzustellen, ob der Benutzer angemeldet wurde oder ob ein Formularfeld eingereicht wurde.
if (isset($_SESSION['user_id'])) {
// Benutzer angemeldet
}
In PHP wird der Anmeldestatus normalerweise durch eine Sitzung aufrechterhalten. Wenn sich der Benutzer anmeldet, speichern wir die relevanten Informationen des Benutzers in der Sitzung, z. B. user_id . Auf der Seite, auf der Sie den Anmeldestatus des Benutzers überprüfen müssen, können wir ISSET () verwenden, um festzustellen, ob die Sitzungsvariable vorhanden ist. Wenn es existiert, bedeutet dies, dass der Benutzer angemeldet ist. Wenn es nicht existiert, bedeutet dies, dass der Benutzer nicht angemeldet ist und eine Umleitung erforderlich ist.
Stellen Sie zunächst sicher, dass Sie die Sitzung oben auf der Seite beginnen. Sie können Session_Start () verwenden, um die Sitzung zu starten. Diese Funktion muss vor einer Ausgabe aufgerufen werden.
<?php
session_start();
?>
Als nächstes können wir ISSet () verwenden, um den Anmeldestatus des Benutzers zu bestimmen. Angenommen, wir speichern user_id in der Sitzung.
<?php
if (!isset($_SESSION['user_id'])) {
// Benutzer nicht angemeldet,Umleiten zur Anmeldeseite umleiten
header("Location: http://www.m66.net/login.php");
exit;
}
?>
Der oben genannte Code implementiert die Anmeldestatusprüfung. Wenn $ _Session ['user_id'] nicht existiert (d. H. Der Benutzer ist nicht angemeldet), wird Header () zur Umleitung von Seite zur Anmeldeseite ausgeführt.
Für Benutzer, die bereits angemeldet sind, können wir ihnen zulassen, dass sie auf die Zielseite zugreifen oder willkommene Informationen usw. anzeigen. Zum Beispiel:
<?php
if (isset($_SESSION['user_id'])) {
echo "Willkommen,Benutzer " . $_SESSION['user_id'];
}
?>
Hier ist ein vollständiges Beispiel, das zeigt, wie Sie Header () und Isset () kombinieren, um den Anmeldestatus zu bestimmen und ihn umzuleiten:
<?php
session_start(); // Starten Sie eine Sitzung
// 判断Benutzer是否登录
if (!isset($_SESSION['user_id'])) {
// 如果Benutzer没有登录,Springen Sie zur Anmeldeseite
header("Location: http://www.m66.net/login.php");
exit; // Hören Sie nach der Umleitung auf, den nachfolgenden Code auszuführen
}
// Benutzer已经登录,显示Willkommen信息
echo "Willkommen您," . $_SESSION['user_id'] . "!";
?>
Die Header () -Funktion muss vor einer Ausgabe aufgerufen werden : Da Header () HTTP -Headerinformationen ändern wird, kann es keine Ausgabe (einschließlich HTML -Tags, Räume, Echo, Druck usw.) geben, bevor Sie Header aufrufen () . Wenn bereits eine Ausgabe vorhanden ist, meldet PHP einen Fehler: "Die Headerinformationen können bereits gesendet werden.
Ausgangsfunktion : Nach dem Aufrufen von Header ("Ort: ...") beenden; sollte sofort verwendet werden, um zu verhindern, dass der nachfolgende Code die Ausführung fortsetzt, um sicherzustellen, dass die Umleitung nicht durch andere Vorgänge beeinträchtigt wird.
Sitzungsverwaltung : Um die Korrektheit von Sitzungsdaten zu gewährleisten, muss jede Seite Session_Start () verwenden, um die Sitzung zu starten. Wenn auf der Seite mehrere Stellen vorhanden sind, die den Anmeldestatus bestimmen müssen, können Sie den Anmeldeurteilscode in eine separate PHP -Datei extrahieren und durch Einbeziehung einbeziehen.
In diesem Artikel wird in PHP die Funktion Header () und ISSET () verwendet, um den Anmeldestatus zu bestimmen und die Seitenumleitung durchzuführen. Speichern Sie die Anmeldeinformationen durch Sitzung und bestimmen Sie, ob sie über ISSET () vorhanden sind. Das Umleiten von Vorgängen mit Header () -Funktion kann die Benutzerzugriffsrechte der Benutzer effektiv steuern und sicherstellen, dass nur angemeldete Benutzer auf auf eingeschränkte Inhalte zugreifen können.
Diese Methode ist für die meisten Webanwendungsszenarien geeignet, für die Anmeldesprüfung erforderlich ist. Ich hoffe, dieser Artikel wird Ihnen hilfreich sein.