Designed by Gaetan !
77 en ligne   Boutique | Sites | Bar | Forum | PhpBB | Actu | Glossaire | Codes | Tips | Liens | Livres | Lettre  


 Recherche

 NewsLetter






   

[PHP] Créer un espace membre (1/3)

Des comptes utilisateurs pour gérer votre site





Bisou
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 :)


Préparation - Inscription & activation - Connexion & déconnexion



Cahier des charges :

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 :

  1. Formulaire d’inscription
  2. Activation par e-mail du compte utilisateur
  3. 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 :

  1. ID_Utilisateur, clef primaire auto incrémentée de type int
  2. Nom_Utilisateur de type varchar représentant le nom d’utilisateur du visiteur
  3. Mot_de_Passe de type varchar représentant le mot de passe de l’utilisateur
  4. Adresse_Email de type varchar représentant l’adresse e-mail du visiteur
  5. Date_Inscription de type int représentant le timestamp de la date d’inscription
  6. Compte_Active de type enum nous informera si le compte est actif ou non
  7. 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>


Pour pouvoir écrire dans ce forum, identifiez-vous !

 Lire  22/01/10 17:42 de Chris97122
je pense le problème vient de server name et server ...
 Lire  22/01/10 16:47 de Chris97122
slt j'ai un prb des le début j'ai crée une base de do...
  • 22/01/10 17:24 de Chris97122 finalement sa passe mais quand je ...
  •  Lire  04/12/09 21:46 de olivierparis
    bonjour, merci pour ce tuto, ca fonctionne parfaiteme...
     Lire  10/11/09 20:27 de ubac31
    Bonjour, l'article est intéressant est m'a fait gagne...
     Lire  14/10/09 22:39 de williamkramps
    salut, j'ai suivi correctement le tutos mais je me he...
     Lire  13/10/09 14:26 de bhdih
    bonjour, SVP... Lorsque je colle le code sur la page...
     Lire  02/10/09 08:44 de alexandryne
    Bonjour, Je suis bloquée avec le formulaire de con...
     Lire  25/09/09 15:55 de alexandryne
    Bonjour, En fait, j'ai rajouté php partout où il ...
     Lire  23/09/09 14:35 de alexandryne
    Bonjour, J'ai un problème avec la ligne 118. Ca m...
  • 23/09/09 17:07 de DB77 A première vue, rien d'anormal. Tu peux es...
  • 23/09/09 20:44 de alexandryne J'ai mis <?php au-dessus, mais ç...
  • 24/09/09 08:46 de DB77 Ce code doit fonctionner, la seule chose qu...
  • 24/09/09 08:48 de DB77 Si au début tu avais : ... 4 autres messag...
  •  Lire  12/09/09 02:03 de javalang
    Salut! Comment je peux corriger cette erreur? Il y a...
  • 12/09/09 19:27 de nilsestseb salut, je recherche un code pou...
  •  Lire  12/09/09 01:24 de javalang
    Salut, dans mon précédent post, je faisais allusion a...
     Lire  12/09/09 01:23 de javalang
    Salut ! Je suis resté longtemps à vouloir adopter le...
     Lire  08/09/09 19:29 de lainlain
    Bonjour, Pour le site d'une association hébergée par...
     Lire  05/09/09 17:59 de lilou06110
    Bonjour, Je fais un site et j'ai un petit problèm...
  • 12/09/09 14:11 de Johan000 Salut, le fait de continuer ce tutori...
  • 12/09/09 15:42 de lilou06110 Salut à tous, Je peux vous ass...
  •  Lire  01/09/09 18:54 de Johan000
    voilà mon problème : CREATE TABLE `membres`.`Comp...
  • 02/09/09 10:59 de Johan000 s'il vous plait, aidez moi, c'est urg...
  • 02/09/09 11:14 de cricri1 comme ca je dirais qu il aime pas le n...
  • 02/09/09 12:01 de DB77 Si tu fais un type ENUM, il faut lui donner...
  • 02/09/09 12:06 de Johan000 D'accord, merci pour le code SQL mai...
  • 02/09/09 13:00 de DB77 Es-tu sûr qu'il faille un type ENUM déjà ? ...
  • 02/09/09 13:15 de Johan000 Le formulaire indique clairement que ...
  • 02/09/09 13:36 de DB77 Je n'ai pas que ça à faire ! Et je ne conn...
  • 02/09/09 15:41 de DB77 En plus il y a cette image avec les valeurs...
  • 02/09/09 17:36 de Johan000 LOL l'affichage de phpmyadmin n'est p...
  • 02/09/09 19:18 de DB77 Sur l'image, tu aurais dû comprendre que ce...
  • 02/09/09 19:38 de Johan000 après cette erreur, j'arrive à copier...
  • 03/09/09 14:36 de DB77 Peut-être des problèmes liés aux copier/col...
  • 03/09/09 17:13 de Johan000 J'ai fait un C/C en remplacant ma bas...
  • 04/09/09 17:40 de homer59 Bonjour moi aussi j'ai la même erreur ...
  • 12/09/09 15:46 de lilou06110 Johann000 je peux essayer de t'aid...
  • 12/09/09 17:01 de Johan000 Bonjour, merci de la proposition mai...
  • 12/09/09 17:10 de lilou06110 Ok bon courage Johan000 si tu chan...
  •  Lire  01/09/09 14:54 de nicoawake
    je comprend vraiment pas pourquoi cela ne fonctionne ...
  • 01/09/09 15:36 de DB77 En général, ce message veut dire qu'il manq...
  • 01/09/09 16:09 de DB77 Si vraiment tu n'y arrives pas, tu mets en ...
  • 02/09/09 11:14 de nicoawake Apres ce changement l'erreur a disp...
  • 02/09/09 13:02 de DB77 Peut-être... Mais il n'y aurait pas un ZIP...
  • 12/09/09 20:30 de javalang Salut! Comment je peux corriger cett...
  •  Lire  01/09/09 01:45 de Johan000
    Bonjour, qqun pour me donner le code SQL du tuto S...
     Lire  30/08/09 21:53 de nicoawake
    Bonjour, je viens de suivre ce tutoriel, mais j'ai un...
  • 31/08/09 08:39 de DB77 Bonjour, Déjà, c'est du PHP, donc il faut ...
  • 31/08/09 22:33 de nicoawake merci de votre reponse si rapide, m...
  • 01/09/09 09:44 de DB77 Déjà, as-tu essayé mes trois lignes de code...
  • 01/09/09 10:18 de nicoawake J'ai essaye ces lignes de codes et ...
  • 01/09/09 10:52 de DB77 Si, comme tu dis dans ton message initial d...
  • 01/09/09 11:16 de nicoawake C'est bon j'ai trouvé le probeme. E...
  • 01/09/09 11:20 de nicoawake probleme resolu, la methode post et...
  • 01/09/09 13:37 de nicoawake Rebonjour, je suis désole de vous e...
  • 01/09/09 13:38 de DB77 %20 c'est un espace. Donc enlèves les espac...
  • 01/09/09 13:40 de DB77 Mais mets plutôt ceci : <form action="http...
  • 01/09/09 13:41 de DB77 Et si ça ne marche pas, remplace = par echo...
  • 01/09/09 13:58 de nicoawake J'ai essayé les 2 mais aucun ne fon...
  • 01/09/09 14:03 de nicoawake Apres avoir fait une nouvelle modif...
  • 01/09/09 14:26 de DB77 Mais il fonctionne !!! Essaye ça : <?php ...
  • 01/09/09 14:43 de DB77 Pourquoi il y a un espace entre Systeme et ...
  • 01/09/09 14:54 de nicoawake je comprend vraiment pas pourquoi c...
  • 01/09/09 15:15 de DB77 Tu l'as bien remis en forme mon code ? Car...
  •  Lire  26/08/09 19:03 de smartou
    Merci pour l'info !!! Ce n'est pas exatement ce que j...
  • 26/08/09 19:14 de DB77 <§img=http://www.asp-php.net/espace/aurelie...
  • 27/08/09 10:22 de DB77 Tu ne lis pas ! Je dis "Si l'utilisateur s...
  • 27/08/09 13:54 de smartou Mon propos n'est pas là encore une foi...
  • 27/08/09 14:24 de DB77 Je pense que tu as beaucoup de lacunes et q...
  • 27/08/09 14:28 de DB77 Et pour compléter mon message précédent... ...
  • 27/08/09 14:36 de DB77 Et pour terminer : - je connais FaceBook (...
  • 27/08/09 18:17 de smartou merci pour tout !!!! alors je pense av...
  • 27/08/09 19:38 de DB77 Mais non, tu stockes simplement son ID lors...
  • 27/08/09 19:39 de DB77 Ah j'oubliais... Il faut juste penser à me...
  • 28/08/09 02:37 de smartou MERCI !!! DB77 le mot magique était "s...
  • 28/08/09 09:23 de DB77 Pourtant tout est là, sur ce site ! Il suf...
  •  Lire  26/08/09 14:09 de smartou
    Merci db77 pour votre reponse !!!! tout marche tres b...
  • 26/08/09 16:01 de DB77 On redirige avec l'instruction : <?php he...
  •   v1.3p © ASP-PHP.net 2002    Suite 

    Bisou le 27/04/2009 (302 582 hits)
    Didier Gratuit !!! Téléchargez la Beta d'Office 2010 !
    35% de réduction sur Windows 7 !
    Au fil des news  
    Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 6
    Pour continuer dans le même style, je vous propose une suite au précédent article. Rechercher tous ...
    Adobe - Adobe Photoshop.com Mobile pour iPhone 1.1
    JavaScript - Ajouter une page dans vos favorites
    Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 5 -
    Je vous propose cette fois deux astuces. Comment exporter une feuille de style avec l'aide de ...
    SharePoint Personalization Site Links - Les liens personnalisés des MySite SharePoint
    Nous avons vu dans les articles précédents comment agrémenter les pages de recherche afin de ...
    Magazines - Le n°126 de Programmez est disponible
    Outils - Traducteur en ligne automatique pour site web
    Adobe - Adobe Photoshop.com Mobile pour Iphone
    Magazines - Le n°125 de Programmez est disponible
    Adobe - Adobe AIR 2 et Flash Player 10.1version bêta
    Les conférences autour des technologies Microsoft - Liste non exhaustive des grands évènements
    Nous allons essayer de regrouper un grand nombre des évènements autour des technologies Microsoft ...
    Magazines - Le n°124 de Programmez est disponible
    PHP - Forum PHP 2009
    Composants - eFace - XAML en Java
    WPF - Désactiver le bouton de réduction d'une fenêtre
    Magazines - Le n°123 de Programmez est disponible
    Magazines - Le n°122 de Programmez est disponible
    Auditer une ferme SharePoint - Assurer le bon fonctionnement de SharePoint
    Dans le cadre de la bonne gestion de son environnement SharePoint, il est utile de faire un ...
    SQL Server 2008 Report Builder 2.0 - Installation et utilisation de Report Builder 2.0
    Dans le cadre de la création de rapports pour SQL Server Reporting Services 2008, un outil est ...
    Magazines - Le HS N° 1 de Web Design est disponible
    Adobe - Adobe propose en Open Source les frameworks.....
    Outils - EntityBuilder
    CSharp - Sérialisation XML de vos objets
    Magazines - Le n°121 de Programmez est disponible
    Adobe - Adobe annonce MAX 2009 !
    Outils - WhoIs
    [MAJ] Dreamweaver MX + Php + MySql - Les formulaires - partie 3
    Mise à jour du code, par DB 77, affichage du code erreur, dans la page erreur.php, traduction des ...
    PHP - News avec photo - Système de gestion - affichage
    Gestion - Administration - Affichage d'une "News", "Actualité", "Info", ... avec : - mise en forme ...
    Outils - Crypt
    Dreamweaver Php Mysql - Région répétée imbriquée
    Je rebondis, sur un post du forum, pour vous montrer comment obtenir grâce à l'extension Simulated ...
    Magazines - Le n° 120 de Programmez est disponible
    Gérer les bases de contenu SharePoint - Gérer la croissance du volume des données
    Dans le cadre de la gestion quotidienne de ferme SharePoint, il existe une partie qu'il faut ...
    PHP - Le Coach PHP sur Visual Studio
    .NET - Ecrire une application .NET utilisant MySQL
    PHP - Utilisation de PHP dans le monde Microsoft
    Magazines - Le n° 119 de Programmez est disponible
    Adobe - Adobe annonce Photoshop Marketplace
    [MAJ] Tutoriel AJAX simple - En avant vers le WEB2.0
    Mis à jour le 20/04/2009
    Captcha «maison» sans extension - Et en plus, c'est gratuit ;)
    Un ami m'a demandé de l'aide ce matin pour insérer un captcha dans un formulaire pour son site ...
    Dreamweaver CS4 - Photoshop CS4 - Alliance parfaite pour la gestion des images
    Pour changer un peu des pages de code, je vous propose de voir ensemble, la fonctionnalité très ...
    Tutorial : HTML | Scripting | ASP-PHP | ASP.net | SQL Server | XML
    Sharepoint | XAML | Pocket | Dreamweaver | VML | Divers
      Scripts : Scripting | ASP-PHP | ASP.net | Divers
      Boutique | Annuaire | Bannières | Météo | Tribune | Partenariats
    v3b © Didier 2003   
     

    Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
     MVP ASP-magazine TechNet Groupes Utilisateurs Microsoft DotNet Project