Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour écrire un saut de connexion réussi

Comment utiliser PHP pour écrire un saut de connexion réussi

PHPz
PHPzoriginal
2023-04-19 11:38:35974parcourir

PHP est un langage de script côté serveur largement utilisé dans le développement Web et peut être utilisé pour la production de pages Web dynamiques et le développement d'applications Web. Dans le développement de sites Web, le système de connexion est une fonction très courante, et accéder à la page spécifiée après une connexion réussie constitue également une partie importante de l'expérience utilisateur. Cet article explique comment utiliser PHP pour écrire la fonction permettant de réussir le saut de connexion.

1. Créer une page de formulaire

Tout d'abord, nous devons créer une page de connexion où les utilisateurs peuvent saisir leur nom d'utilisateur et leur mot de passe. Pour rendre cette page plus lisible, nous pouvons utiliser des styles CSS en HTML pour embellir la page. Notre page de formulaire doit inclure le contenu suivant :

  • Formulaire de connexion ;
  • Un formulaire contenant des zones de saisie du nom d'utilisateur et du mot de passe ;
  • Bouton pour soumettre le formulaire en utilisant la méthode POST ;
  • Le code HTML est le suivant :
<!DOCTYPE html>
<html>
<head>
    <title>登陆页面</title>
    <style>
        body{
            background-color: #F4F4F4;
        }
        
        .login{
            margin: 100px auto;
            border: 1px solid #ccc;
            width: 400px;
            background-color: #fff;
            padding: 20px;
            border-radius: 10px;
            box-shadow: 0 0 10px #ccc;
        }
        
        input[type=text], input[type=password]{
            width: 100%;
            padding: 10px;
            margin: 8px 0;
            display: inline-block;
            border: 1px solid #ccc;
            box-sizing: border-box;
            border-radius: 5px;
        }
        
        button[type=submit]{
            background-color: #4CAF50;
            color: white;
            padding: 10px 18px;
            margin: 8px 0;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }
        
        button[type=submit]:hover{
            background-color: #45a049;
        }
        
        .error{
            color: red;
        }
    </style>
</head>
<body>
    <div class="login">
        <h2>登陆页面</h2>
        <form action="process.php" method="POST">
            <label for="username">用户名</label>
            <input type="text" id="username" name="username" placeholder="请输入用户名">
            <label for="password">密码</label>
            <input type="password" id="password" name="password" placeholder="请输入密码">
            <button type="submit">登陆</button>
            <?php
                if(isset($_GET[&#39;error&#39;])){
                    if($_GET[&#39;error&#39;] == &#39;empty&#39;){
                        echo "<p class=&#39;error&#39;>请输入所有字段!</p>";
                    }
                    elseif ($_GET['error'] == 'wrong') {
                        echo "<p class=&#39;error&#39;>请输入正确的用户名和密码!</p>";
                    }
                }
            ?>
        </form>
    </div>
</body>
</html>

2. Vérifiez le nom d'utilisateur et le mot de passe

Ensuite, nous devons vérifier si le nom d'utilisateur et le mot de passe saisis par l'utilisateur sont corrects. Nous pouvons utiliser PHP côté serveur pour implémenter ce processus. Tout d’abord, nous devons créer un fichier process.php côté serveur. Ce fichier recevra les données du formulaire et vérifiera que le nom d'utilisateur et le mot de passe sont corrects. Si c'est correct, nous redirigerons l'utilisateur vers une autre page de ce fichier.

<?php
    session_start();
    if(isset($_POST[&#39;username&#39;]) && isset($_POST[&#39;password&#39;])){
        include &#39;db_connection.php&#39;;
        $username = $_POST[&#39;username&#39;];
        $password = $_POST[&#39;password&#39;];
        if(empty($username) || empty($password)){
            header("Location: index.php?error=empty");
            exit();
        }
        else{
            $sql = "SELECT * FROM users WHERE username=&#39;$username&#39; AND password=&#39;$password&#39;";
            $result = mysqli_query($conn, $sql);
            if(mysqli_num_rows($result) === 1){
                $row = mysqli_fetch_assoc($result);
                if($row[&#39;username&#39;] === $username && $row[&#39;password&#39;] === $password){
                    $_SESSION[&#39;username&#39;] = $row[&#39;username&#39;];
                    header("Location: welcome.php");
                    exit();
                }
            }
            else{
                header("Location: index.php?error=wrong");
                exit();
            }
        }
    }
    else{
        header("Location: index.php");
        exit();
    }
?>

Dans le code ci-dessus, nous ouvrons d'abord une nouvelle session en utilisant la fonction session_start(). Nous vérifions ensuite si le nom d'utilisateur et le mot de passe existent dans le tableau $_POST. Si elles sont présentes, nous importons les variables de connexion à la base de données à partir du fichier db_connection.php puisque nous devons récupérer les données utilisateur de la base de données. Nous utilisons ensuite une instruction if pour vérifier si le champ saisi est vide. S'il est vide, redirige l'utilisateur vers la page du formulaire d'origine et inclut le code d'erreur dans l'URL.

Si le champ de saisie n'est pas vide, nous pouvons récupérer l'enregistrement de cet utilisateur dans la base de données. Si nous obtenons un enregistrement avec un nom d'utilisateur et un mot de passe correspondants, nous pouvons stocker le nom d'utilisateur dans $_SESSION et utiliser la fonction header() pour rediriger l'utilisateur vers la page bienvenue.php. S'il n'existe aucun enregistrement de ce type dans la base de données, nous redirigerons l'utilisateur vers la page du formulaire d'origine et inclurons le code d'erreur dans l'URL.

3. Créer une page d'accueil

Enfin, nous devons créer une page d'accueil vers laquelle l'utilisateur sera redirigé une fois connecté avec succès. La page d'accueil peut simplement afficher un message de bienvenue et un bouton permettant à l'utilisateur de se déconnecter et de se déconnecter.

<!DOCTYPE html>
<html>
<head>
    <title>欢迎页</title>
</head>
<body>
    <h1>欢迎</h1>
    <p>您已经成功登陆, <?php echo $_SESSION[&#39;username&#39;]; ?>!</p>
    <a href="logout.php">注销</a>
</body>
</html>

Dans la page d'accueil, nous utilisons le mécanisme $_SESSION de PHP pour afficher le nom d'utilisateur actuel. Nous avons également ajouté un lien vers la page qui implémente la fonctionnalité de déconnexion via le fichier logout.php de la page.

4. Implémentez la fonction de déconnexion

Enfin, nous devons utiliser PHP pour écrire le fichier logout.php afin d'implémenter la fonction de déconnexion.

<?php
    session_start();
    session_unset();
    session_destroy();
    header("Location: index.php");
    exit();
?>

Dans le fichier logout.php, nous démarrons d'abord la session en utilisant la fonction session_start(). Nous utilisons les fonctions session_unset() et session_destroy() pour effacer toutes les données de session et rediriger l'utilisateur vers la page d'accueil. Cela déconnectera l'utilisateur après avoir cliqué sur le lien "Déconnexion".

Résumé

Dans cet article, nous avons présenté comment utiliser PHP pour écrire un système simple permettant de réussir un saut de connexion. En utilisant PHP et MySQL, vous pouvez vérifier le nom d'utilisateur et le mot de passe lorsque le formulaire est soumis, rediriger l'utilisateur vers une autre page après une vérification réussie et renvoyer l'utilisateur à la page du formulaire d'origine si une erreur est rencontrée. Nous avons également expliqué comment afficher le nom d'utilisateur actuellement connecté dans la page d'accueil et ajouter une fonctionnalité de déconnexion dans le fichier logout.php. Il s'agit d'un système de redirection de réussite de connexion simple mais fonctionnel qui peut offrir aux visiteurs une bonne expérience utilisateur sur votre site Web.

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