Maison > Article > développement back-end > Comment utiliser PHP pour écrire un saut de connexion réussi
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 :
<!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['error'])){ if($_GET['error'] == 'empty'){ echo "<p class='error'>请输入所有字段!</p>"; } elseif ($_GET['error'] == 'wrong') { echo "<p class='error'>请输入正确的用户名和密码!</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['username']) && isset($_POST['password'])){ include 'db_connection.php'; $username = $_POST['username']; $password = $_POST['password']; if(empty($username) || empty($password)){ header("Location: index.php?error=empty"); exit(); } else{ $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'"; $result = mysqli_query($conn, $sql); if(mysqli_num_rows($result) === 1){ $row = mysqli_fetch_assoc($result); if($row['username'] === $username && $row['password'] === $password){ $_SESSION['username'] = $row['username']; 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['username']; ?>!</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!