Subscribe Us

Formulaire d'Authentication à travers une base de données en PHP

Problème posé !!! Dans ce tuto nous allons appliquer un exercice d'uthentification via une base de données en PHP en validant les coordonnées de l'utilisateur à partir de la base de données. Pour se faire, on procédera à la création des pages ci-après: 1. inscription.php: qui permet à l'utilisateur de créer un compte. Cette page contient un formulaire avec les champs: nom, prenom, login, mot de passe, confirmation de mot de passe et un bouton d'envoi. 2. login.php: qui authentifie l'utilisateur. Elle contient un formulaire renfermant une zone de texte, une zone de mot de passe et un bouton d'envoi. 3. session.php: qui représente la page à accès limité. Aucun visiteur n'a le droit de voir son contenu s'il n a pas été authentifié par la page login.php. 5. deconnexion.php: est la page qui permet de déconnecter le client (détruire la session) et rediriger le navigateur vers la page login.php. 6. connexion.php: qui contient la chaîne de connexion. Lors de l'inscription, aucun champ ne doit être laissé vide et les champs "mot de passe" et "confirmation de mot de passe" doivent être identiques. Si tous les champs sont valides, on vérifie d'abord si le login n'existe pas déjà dans la base de donnée. Si non alors les informations de l'utilisateur seront placées dans la table "utilisateurs" vue dans la page précédente dont voici la structure: CREATE TABLE `utilisateurs` ( `id` int(10) unsigned NOT NULL auto_increment, `date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `nom` varchar(40) NOT NULL, `prenom` varchar(40) NOT NULL, `login` varchar(40) NOT NULL, `pass` varchar(40) NOT NULL, PRIMARY KEY (`id`) ); CopySQL Solution Si vous n'avez pas déjà fait l'exercice de l'authentification statique, je vous recommande d'y jeter un coup d'oeil en suivant ce lien Voir l'exercice. Code source de connexion.php: getMessage(); } ?> CopyPHP Code source de inscription.php: prepare("select id from utilisateurs where login=? limit 1"); $sel->execute(array($login)); $tab=$sel->fetchAll(); if(count($tab)>0) $erreur="Login existe déjà!"; else{ $ins=$pdo->prepare("insert into utilisateurs(nom,prenom,login,pass) values(?,?,?,?)"); if($ins->execute(array($nom,$prenom,$login,md5($pass)))) header("location:login.php"); } } } ?>

Inscription






CopyPHP Code source de login.php: prepare("select * from utilisateurs where login=? and pass=? limit 1"); $sel->execute(array($login,$pass)); $tab=$sel->fetchAll(); if(count($tab)>0){ $_SESSION["prenomNom"]=ucfirst(strtolower($tab[0]["prenom"])). " ".strtoupper($tab[0]["nom"]); $_SESSION["autoriser"]="oui"; header("location:session.php"); } else $erreur="Mauvais login ou mot de passe!"; } ?>

Authentification [ Créer un compte ]



CopyPHP Code source de session.php:

[ Se déconnecter ] CopyPHP Code source de deconnexion.php:

Enregistrer un commentaire

0 Commentaires