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ésCommencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
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.
Créons une page, Login.php contenant les lignes HTML suivantes :
Code :
A sample login pageEnter Login Information:
Sortie :
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.
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 :
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.
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 :
Sortie :
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 :
Welcome to User's Home PageWishing you a good day!!
Sortie :
The above code first retrieves the session details by invoking session_start(). It then validates that the session is still active for a user who had completed the login process. If not, the user is sent to the Login.php page. If the user had successfully logged in, the rest of the content is available to the user.
It’s extremely easy to create login pages in PHP. Here we have directly stored the credentials in the script, but ideally (and most commonly) they will be stored in some form of a database or key manager. Also, here we used sessions, which are stored on the browser side, but you can use cookies that are stored on the browser (client) side but are less reliable.
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!