Dans le cours de PHP (PHP Hypertext Preprocessor) nous avons fait un exercice d'authentification statique. C'est à dire que le login et le mot de passe sont définis statiquement dans le code source.
Cette fois, nous allons améliorer cet exercice en authentifiant l'utilisateur à partir de la base de données.
On aura donc besoin des pages suivantes:
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.
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.
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.
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.
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`)
);
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.