Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie Header () + Session_start (), um Anmeldessprung durchzuführen

Verwenden Sie Header () + Session_start (), um Anmeldessprung durchzuführen

M66 2025-06-02

In der Webentwicklung ist die Umleitung von Seiten nach der Benutzeranmeldung eine sehr häufige Funktion. Mit PHP können wir den Anmeldestatus des Benutzers über Session_Start () verwalten und dann die Header () -Funktion kombinieren, um die Seitenumleitung zu realisieren. In diesem Artikel wird erläutert, wie diese Funktion Schritt für Schritt implementiert werden kann.

1. Verstehen Sie Sitzung und Header

  • Session_start ()
    Session_Start () ist eine Methode, die in PHP verwendet wird, um eine Sitzung zu starten. Es speichert Benutzerinformationen auf der Serverseite, z. B. Benutzername, Benutzer -ID usw., um denselben Benutzer in mehreren Anforderungen zu identifizieren.

  • Header ()
    Header () ist eine Funktion, die von PHP zum Senden von RAW -HTTP -Header -Informationen verwendet wird. Eine der gemeinsamen Verwendungen besteht darin, einen Standort -Header zu senden, mit dem der Browser auf eine andere Seite springen kann.

Müssen beachten:

  • Header () muss aufgerufen werden, bevor Sie etwas ausgeben, einschließlich Leerzeichen oder HTML.

  • Session_Start () sollte ebenfalls vor einer Ausgabe aufgerufen werden.

2. Implementierungsschritte

Angenommen, wir haben ein einfaches Anmeldeformular, und nachdem wir erfolgreich angemeldet sind, müssen wir auf die persönliche Homepage des Benutzers springen.

Anmeldeformseite (login.php)

 <?php
// Offen session
session_start();
?>
<!DOCTYPE html>
<html>
<head>
    <title>Benutzeranmeldung</title>
</head>
<body>
<form method="post" action="login_process.php">
    Benutzername: <input type="text" name="username"><br>
    Passwort: <input type="password" name="password"><br>
    <input type="submit" value="Einloggen">
</form>
</body>
</html>

Anmeldeverarbeitungsseite (login_process.php)

 <?php
session_start();

// 模拟的Benutzername和Passwort
$correct_username = 'admin';
$correct_password = '123456';

// Holen Sie sich die eingereichten Daten
$username = $_POST['username'] ?? '';
$password = $_POST['password'] ?? '';

// 检查Benutzername和Passwort是否正确
if ($username === $correct_username && $password === $correct_password) {
    // Einloggen成功,aufstellen session
    $_SESSION['username'] = $username;

    // Springen Sie auf die Benutzer -Homepage
    header('Location: https://m66.net/user_home.php');
    exit;
} else {
    // Einloggen失败,跳转回Einloggen页
    header('Location: https://m66.net/login.php?error=1');
    exit;
}
?>

User Homepage (user_home.php)

 <?php
session_start();

// 检查是否已Einloggen
if (!isset($_SESSION['username'])) {
    // 如果没有Einloggen,跳转到Einloggen页面
    header('Location: https://m66.net/login.php');
    exit;
}

$username = $_SESSION['username'];
?>
<!DOCTYPE html>
<html>
<head>
    <title>Willkommen,<?php echo htmlspecialchars($username); ?></title>
</head>
<body>
<h1>Willkommen回来,<?php echo htmlspecialchars($username); ?>!</h1>
<p><a href="logout.php">退出Einloggen</a></p>
</body>
</html>

Abmeldeseite (logout.php)

 <?php
session_start();
session_unset();
session_destroy();

// 跳转回Einloggen页面
header('Location: https://m66.net/login.php');
exit;
?>

3.. Dinge zu beachten

  • Rufen Sie Header () und Session_start () vor der Ausgabe auf
    Solange auf der Seite (einschließlich HTML, Leerzeichen, Linienbrüche usw.) Ausgabe vorhanden ist, meldet Header () und Session_start () einen Fehler. Stellen Sie sicher, dass sie oben in der Datei aufgerufen werden.

  • Sicherheit <br> Im Beispielcode werden der Benutzername und das Passwort tot geschrieben. In den tatsächlichen Projekten sollten sie aus der Datenbank abgerufen werden und die Verschlüsselung (z. B. password_hash () und password_verify ( ) verwendet werden.

  • Melden Sie sich an <br> Reinigen Sie die Sitzung beim Verlassen, andernfalls existiert der Benutzerstatus noch, auch wenn Sie zur Anmeldeseite zurückkehren.