Heim > Artikel > Backend-Entwicklung > So verwenden Sie PHP, um eine Sprungseite für die Anmeldeseite zu erstellen
Im Bereich der Website-Entwicklung ist ein Benutzeranmeldesystem eine sehr häufige Anforderung. Die Kernbestandteile des Benutzeranmeldesystems auf einer Website sind die Anmeldeseite, die Benutzerauthentifizierung und Sprungseiten. In diesem Artikel wird erläutert, wie Sie mit PHP eine einfache Anmeldeseite implementieren und den Sitzungsstatus des Benutzers anzeigen, indem Sie zur Seite springen.
In diesem Artikel verwenden wir die folgenden drei Basisdateien: login.php, Authenticate.php und Dashboard.php.
Die Anmeldeseite ist der Einstiegspunkt, wenn sich Benutzer am System anmelden. Wir werden diese Seite in der Datei login.php implementieren.
<?php session_start(); if (isset($_SESSION['user_id'])) { header('Location: dashboard.php'); exit(); } ?> <!DOCTYPE html> <html> <head> <title>Login</title> <meta charset="utf-8"> </head> <body> <h1>Login</h1> <form method="post" action="authenticate.php"> <label for="user_name">Username:</label> <input type="text" name="user_name"><br> <label for="password">Password:</label> <input type="password" name="password"><br> <input type="submit" value="Login"> </form> </body> </html>
Der obige Code zeigt eine einfache HTML-Seite. Es enthält ein Formular, in das Benutzer ihren Benutzernamen und ihr Passwort eingeben können. Die Übermittlung des Formulars wird an die Seite „authenticate.php“ gesendet, die für den Vergleich der vom Benutzer eingegebenen Daten mit den in der Datenbank gespeicherten Daten verantwortlich ist, um zu bestätigen, ob der Benutzer über die Berechtigung zum Zugriff auf die geschützte Ressource verfügt.
Der Code startet auch eine neue Sitzung mit der Funktion session_start(). Wenn der Benutzer bereits angemeldet ist, prüft die Funktion session_start(), ob die Benutzer-ID in der aktuellen Sitzung vorhanden ist, und leitet in diesem Fall direkt zur Seite „dashboard.php“ weiter.
authenticate.php-Datei ist für den Authentifizierungsprozess des Benutzers verantwortlich. Grundsätzlich werden die in der Datenbank gespeicherten Benutzeranmeldeinformationen mit den vom Benutzer auf der Anmeldeseite angegebenen Anmeldeinformationen verglichen. Wenn sie übereinstimmen, wird eine neue Sitzung erstellt und die Benutzer-ID in $_SESSION['user_id'] gespeichert. Anschließend wird auf die Seite „dashboard.php“ weitergeleitet.
In diesem Beispiel gehen wir davon aus, dass Benutzername und Passwort bereits in einer Datenbanktabelle namens „users“ gespeichert sind.
<?php session_start(); if (isset($_SESSION['user_id'])) { header('Location: dashboard.php'); exit(); } if (empty($_POST['user_name']) || empty($_POST['password'])) { header('Location: login.php'); exit(); } $user_name = $_POST['user_name']; $password = $_POST['password']; $db = new PDO('mysql:host=localhost;dbname=mydatabase;charset=utf8mb4', 'username', 'password'); $stmt = $db->prepare("SELECT id FROM users WHERE user_name=:user_name AND password=:password"); $stmt->execute(array(':user_name' => $user_name, ':password' => $password)); $user = $stmt->fetch(); if (!$user) { header('Location: login.php'); exit(); } $_SESSION['user_id'] = $user['id']; header('Location: dashboard.php');
Der Ausführungsablauf des obigen Codes ist wie folgt:
Zuerst überprüfen wir den Wert von $_SESSION['user_id']. Wenn er vorhanden ist, bedeutet dies, dass sich der Benutzer angemeldet hat und versucht, sich erneut anzumelden . In diesem Fall leiten wir zur Seite „dashboard.php“ weiter.
Als nächstes prüfen wir, ob der Benutzer im Anmeldeformular einen Benutzernamen und ein Passwort angegeben hat. Andernfalls gilt der Anmeldevorgang als ungültig. In diesem Fall leiten wir zur Seite login.php weiter.
Als nächstes suchen wir in der Datenbank nach dem vom Benutzer angegebenen Benutzernamen und Passwort. Wir verwenden die PDO-PHP-Erweiterung, um eine Verbindung zur MySQL-Datenbank herzustellen. Für einen bestimmten Benutzernamen und ein bestimmtes Passwort prüfen wir, ob die entsprechende Zeile in der Benutzertabelle vorhanden ist. Falls vorhanden, wird der Benutzer authentifiziert.
Schließlich erstellen wir eine neue Variable $_SESSION['user_id'], die die ID des Benutzers speichert, und leiten zur Seite Dashboard.php weiter.
dashboard.php-Datei zeigt den Sitzungsstatus des Benutzers an. Wenn der Benutzer authentifiziert wurde, liest die Seite „dashboard.php“ die Variable $_SESSION['user_id'] und zeigt eine Willkommensnachricht an.
<?php session_start(); if (!isset($_SESSION['user_id'])) { header('Location: login.php'); exit(); } ?> <!DOCTYPE html> <html> <head> <title>Dashboard</title> <meta charset="utf-8"> </head> <body> <h1>Dashboard</h1> <p>Welcome!</p> </body> </html>
Der Ausführungsablauf des obigen Codes ist wie folgt:
Zuerst überprüfen wir den Wert der Variablen $_SESSION['user_id']. Wenn die Variable nicht vorhanden ist, bedeutet dies, dass der Benutzer nicht authentifiziert wurde. In diesem Fall leiten wir zur Seite login.php weiter.
Als nächstes zeigen wir eine Willkommensnachricht an, die angibt, dass der Benutzer authentifiziert wurde und auf die geschützte Ressource zugreifen kann.
In diesem Artikel haben wir gelernt, wie man ein einfaches Anmeldesystem mit PHP implementiert. Das System verwendet grundlegende HTML- und PHP-Syntax sowie MySQL- und PDO-Erweiterungen. Anhand dieses Beispiels haben Sie gelernt, wie Sie ein HTML-Formular erstellen, Daten in einer MySQL-Datenbank lesen und schreiben, eine neue Sitzung erstellen und Variablen in der Sitzung überprüfen. Diese Fähigkeiten sind alle erforderlich, um komplexere Webanwendungen zu erstellen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP, um eine Sprungseite für die Anmeldeseite zu erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!