Maison >développement back-end >tutoriel php >Page de connexion en PHP

Page de connexion en PHP

WBOY
WBOYoriginal
2024-08-29 13:14:10699parcourir

Il sera rare qu’un site engageant ne propose pas de création de compte à ses clients. Pour ce faire, ils doivent disposer des fonctionnalités permettant à un nouvel utilisateur de s'inscrire lui-même, puis de se connecter et d'interagir avec le site Web en utilisant son compte. PHP expose suffisamment d'utilitaires pour configurer rapidement une page de connexion fonctionnelle, qui peut également évoluer ultérieurement, selon les besoins. Après avoir configuré un formulaire de connexion de base pour demander les informations d'identification, le même script PHP peut être utilisé pour traiter et valider les informations d'identification, et rediriger vers la page appropriée en cas de connexion réussie. Il fournit également des options de création et de stockage de cookies et de sessions, pour suivre les utilisateurs une fois qu'ils ont terminé le processus de connexion.

PUBLICITÉ Cours populaire dans cette catégorie DEVELOPPEUR PHP - Spécialisation | Série de 8 cours | 3 tests simulés

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Comment fonctionnent les pages de connexion en PHP ?

PHP est un langage de script côté serveur sans état et évolutif. Il permet de capturer les données du formulaire en les stockant dans des tableaux $_GET ou $_POST selon que la méthode utilisée lors de la soumission du formulaire est GET ou POST. Généralement, la méthode post est préférée pour des raisons de sécurité. Lors de la soumission, ces tableaux peuvent être indexés par les noms des champs de saisie pour obtenir la valeur spécifique.

Pour les formulaires de connexion, les informations d'identification sont transmises et stockées dans ces tableaux, qui le plus souvent ne sont qu'un ensemble de noms d'utilisateur et de mots de passe. En fonction des exigences, soit la combinaison nom d'utilisateur et mot de passe peut être directement validée dans le code PHP lui-même, soit l'ensemble valide de combinaisons nom d'utilisateur et mot de passe peut être stocké dans une base de données qui peut être consultée.

Configuration de la page de connexion

Créons une page, Login.php contenant les lignes HTML suivantes :

Code :

<html>
<head>A sample login page</head>
<body>
<h2>Enter Login Information:</h2><br>
<form action="" method="post">
<label>Username : </label><input type="text" name="username" /><br/>
<label>Password : </label><input type="password" name="pwd" /><br/>
<input type="submit" value="Login" />
</form>
</body>
</html>

Sortie :

Page de connexion en PHP

Ces lignes créent un formulaire très simple, demandant à un utilisateur de saisir deux champs, un nom d'utilisateur et un mot de passe. Il fournit une troisième entrée, qui est un bouton de soumission et entraîne l'envoi des données du formulaire, c'est-à-dire le nom d'utilisateur et le mot de passe, à l'emplacement mentionné dans l'attribut d'action de la balise form. Comme il est vide ci-dessus, il transmet les informations du formulaire à la même page PHP.

Comment créer une page de connexion en PHP ?

La page ci-dessus est un code HTML statique, sans réellement valider l'utilisateur ni connecter la personne aux pages Web internes. Pour ce faire, nous devons traiter les valeurs transmises dans les champs username et pwd stockés dans $_POST à ​​cause des publications de la méthode.

Ainsi les valeurs présentes peuvent être vérifiées en utilisant :

Code :

<?php
$error = "";
if(isset($_POST['username']) && isset($_POST['pwd'])){
// check for validity
}
?>

Après avoir vérifié que les deux entrées sont bien présentes, nous pouvons valider leurs valeurs et rediriger une personne vers la page d'accueil appropriée.

Nous pouvons y parvenir en insérant le simple morceau de code suivant dans le bloc d'instruction if présenté ci-dessus :

Code :

$username = $_POST['username'];
$password = $_POST['pwd'];
if($username == "admin" && $password == "l0G3In"){
header('location: Home.php');
}
else {
$error = "Invalid username or password!";
}

Avec les lignes ci-dessus, une fois que l'utilisateur a soumis un ensemble d'informations d'identification valides, il est autorisé à accéder à home.php, ou nous stockons un message d'erreur qui peut être affiché à l'utilisateur.

Séance

Nous ne voulons pas qu’un utilisateur se connecte à plusieurs reprises à chaque demande. Nous devons donc garder une trace des utilisateurs qui se sont connectés, quelle que soit la page qu'ils demandent. Une façon d'y parvenir en PHP consiste à utiliser des sessions.

En bref, les sessions sont une petite information côté serveur, temporairement stockée pour un client, une fois la page demandée. En PHP, cela est réalisé en appelant la fonction session_start() comme première ligne du script. Lors du prochain accès à la page, session_start() ne crée pas de nouvelle session mais récupère les informations de la session démarrée plus tôt et les stocke dans un tableau spécial $_SESSION.

Les valeurs à transmettre entre les pages pendant qu'une session est active peuvent être définies de la même manière qu'un tableau normal et la fonction isset() peut être utilisée pour vérifier si une valeur particulière est disponible dans le tableau.

En combinant toutes les choses discutées, le code ressemblera à ceci :

Code :



A sample login page

Enter Login Information:




Sortie :

Page de connexion en PHP

Accueil.php

Maintenant, toute autre page nécessitant une connexion doit simplement vérifier que la connexion par clé de session est définie. Dans le cas contraire, l'utilisateur peut être redirigé vers la page de connexion. Sinon, il a accès au contenu interne secret.

Créons-en un à des fins de démonstration :

Code :

<?php
session_start();
if(!isset($_SESSION["login"]) || $_SESSION["login"]!=True){
header('location: Login.php');
}
?>
<html>
<head>Welcome to User's Home Page</head>
<body>
<h2>Wishing you a good day!!</h2><br>
</body>
</html>

Sortie :

Page de connexion en PHP

Le code ci-dessus récupère d'abord les détails de la session en appelant session_start(). Il valide ensuite que la session est toujours active pour un utilisateur ayant terminé le processus de connexion. Dans le cas contraire, l'utilisateur est redirigé vers la page Login.php. Si l'utilisateur s'est connecté avec succès, le reste du contenu est disponible pour l'utilisateur.

Conclusion

Il est extrêmement simple de créer des pages de connexion en PHP. Ici, nous avons directement stocké les informations d'identification dans le script, mais idéalement (et le plus souvent), elles seront stockées sous une forme de base de données ou de gestionnaire de clés. De plus, nous avons utilisé ici des sessions qui sont stockées du côté du navigateur, mais vous pouvez utiliser des cookies qui sont stockés du côté du navigateur (client) mais qui sont moins fiables.

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