Maison  >  Article  >  développement back-end  >  Comment s'assurer que le contenu s'affiche normalement après le saut de la page de connexion PHP

Comment s'assurer que le contenu s'affiche normalement après le saut de la page de connexion PHP

王林
王林original
2024-03-16 11:54:04898parcourir

Comment sassurer que le contenu saffiche normalement après le saut de la page de connexion PHP

Dans les programmes PHP, il est très important de s'assurer que le contenu s'affiche normalement après le saut de la page de connexion. Afin d'implémenter cette fonction, nous devons utiliser le contrôle de session et le jugement conditionnel dans le fichier PHP pour garantir que l'utilisateur peut voir le contenu correspondant après s'être connecté.

Tout d'abord, nous devons créer une page de connexion simple et un fichier PHP contenant la vérification de connexion. Supposons que nous ayons une page de connexion login.php et un fichier checklogin.php qui gère l'authentification de connexion. Écrivons maintenant le contenu de ces deux fichiers.

1. login.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Login Page</title>
</head>
<body>
    <h2>Login Form</h2>
    <form action="checklogin.php" method="post">
        <label for="username">Username:</label>
        <input type="text" id="username" name="username" required><br><br>
        
        <label for="password">Password:</label>
        <input type="password" id="password" name="password" required><br><br>
        
        <input type="submit" value="Login">
    </form>
</body>
</html>

2. checklogin.php

<?php
session_start();

// 模拟数据库中存储的用户名和密码
$valid_username = 'admin';
$valid_password = '123456';

// 获取用户输入的用户名和密码
$username = $_POST['username'];
$password = $_POST['password'];

// 验证用户名和密码
if ($username === $valid_username && $password === $valid_password) {
    $_SESSION['username'] = $username; // 将用户名存储在会话中
    header('Location: dashboard.php'); // 登录成功跳转到dashboard.php
} else {
    echo 'Invalid username or password'; // 验证失败,输出错误信息
}
?>

3. Dashboard.php

<?php
session_start();

if (!isset($_SESSION['username'])) {
    header('Location: login.php'); // 如果没有登录,则跳转到登录页面
}

$username = $_SESSION['username']; // 从会话中获取用户名

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Dashboard</title>
</head>
<body>
    <h2>Welcome, <?php echo $username; ?></h2>
    <p>This is the dashboard page.</p>
</body>
</html>

Dans ce code, nous créons d'abord une simple page de connexion login.php, l'utilisateur doit entrer le nom d'utilisateur et soumettre. le formulaire après avoir saisi le mot de passe. Une fois soumises, les données du formulaire sont envoyées au fichier checklogin.php pour validation. Si le nom d'utilisateur et le mot de passe correspondent, le nom d'utilisateur est stocké dans la session et redirigé vers la page Dashboard.php. Dans la page Dashboard.php, nous démarrons d'abord la session et utilisons le nom d'utilisateur stocké dans la session pour déterminer si l'utilisateur est connecté. Sinon, revenons à la page de connexion.

De cette façon, lorsque l'utilisateur se connecte avec succès, il peut accéder à la page Dashboard.php et afficher le message de bienvenue. Voici comment implémenter le saut de page de connexion en PHP pour garantir que le contenu s'affiche normalement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn