C’est une question qui revient souvent sur le forum, « comment créer un espace membre sur mon site Internet ? ». J’avais promis, certes il y a bien longtemps, un petit article traitant du sujet, le voici. Nous allons voir à travers ce tutorial, comment gérer votre site avec des comptes utilisateurs. Le tout en PHP, langage manifestement le plus utilisé par nos visiteurs :)
Nous allons mettre en place un espace membre assez classique à savoir un système que l’on retrouve sur la majorité des sites Internet. Voici les différentes étapes que nous allons détailler et mettre en place ensemble :
Formulaire d’inscription
Activation par e-mail du compte utilisateur
Connexion / Déconnexion
Au niveau de la gestion des cookies, nous y stockerons l’id et le nom de l’utilisateur dans des cookies que nous nommerons "ID_UTILISATEUR" et "NOM_UTILISATEUR".
Base de données :
Nous travaillerons sur une base de données MySQL que nous allons structurer à l’aide de l’outil d’administration phpmyadmin, livré avec EasyPHP et la quasi-totalité des hébergements PHP/MySQL.
La première étape consiste à créer une table que nous nommerons "Comptes_Utilisateurs" à laquelle nous allons ajouter les champs suivants :
ID_Utilisateur, clef primaire auto incrémentée de type int
Nom_Utilisateur de type varchar représentant le nom d’utilisateur du visiteur
Mot_de_Passe de type varchar représentant le mot de passe de l’utilisateur
Adresse_Email de type varchar représentant l’adresse e-mail du visiteur
Date_Inscription de type int représentant le timestamp de la date d’inscription
Compte_Active de type enum nous informera si le compte est actif ou non
Clef_Activation de type varchar représentera la clef permettant d’activer le compte utilisateur
Remarquez aussi le fait que certaines valeurs par défaut ont été définies. Par exemple, la valeur par défaut de Compte_Active est définie à 0. Ce qui veut dire que le compte utilisateur sera par défaut inactivé.
La page d'accueil :
Créons dès maintenant une page index.php où nous souhaiterons la bienvenue à notre visiteur et sur laquelle nous lui proposerons de créer un compte utilisateur, de se connecter ou de se déconnecter s’il est déjà identifié. Pour le moment, contentons nous d’uniquement proposer le lien permettant de créer un compte utilisateur, nous la compléterons une fois le module mis en place :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml"> <head> <title>[PHP] Créer un espace membre</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
<body> <p> <a href="creer-compte-utilisateur.php">Créer un compte utilisateur</a> </p> </body> </html>