Designed by NoKi !
87 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  15/03/10 22:32 de deefee
allo ? bon j'ai fait tout google pour essayer de com...
  • 16/03/10 07:14 de DB77 il suffit de cliquer ici sur le 2 et tu aur...
  • 16/03/10 09:07 de deefee Oui, merci, j'ai vu cette réponse partou...
  • 16/03/10 09:59 de DB77 C'est pourtant clair ! Pas d'espace, pas d...
  • 17/03/10 00:22 de deefee Hola ! Bon OK, ça fonctionne !!! merci ...
  •  Lire  07/03/10 23:19 de deefee
    Bonjour, merci pour le tuto qui est très clair ! J'ai...
     Lire  02/03/10 16:56 de william_13
    Bonjour à tous et toutes j ai comme la plus part,cop...
  • 03/03/10 09:45 de DB77 "vérification d'unicité" : il faut donc voi...
  • 03/03/10 11:29 de william_13 Bonjour DB77 le message erreur ap...
  • 03/03/10 11:39 de DB77 Avec PHPMyadmin, essaye de créer un enregis...
  • 03/03/10 14:15 de william_13 C'est toujours pareil en ayant aj...
  • 03/03/10 15:11 de DB77 Modifie toutes les instructions relatives à...
  • 03/03/10 17:38 de william_13 Merci pour cette réponse mais j a...
  • 03/03/10 19:14 de DB77 Et pour le query ?
  • 03/03/10 23:32 de william_13 voici la equete tel quel // Véri...
  • 04/03/10 07:11 de DB77 Donc, tu n'as pas le "or die (mysql_error()...
  • 04/03/10 11:17 de william_13 Bonjour DB77 effectivement le pro...
  • 04/03/10 12:36 de DB77 Donc, ce serait bien de décomposer pour voi...
  • 04/03/10 13:31 de william_13 J avais une petite reflexion avant...
  • 05/03/10 07:13 de DB77 Pourquoi deux signes = ? $sql="SELECT .......
  • 05/03/10 07:16 de DB77 Je remets encore une fois comment il faut f...
  • 05/03/10 10:46 de william_13 Bonjour DB77 Merci! Tout est ok...
  • 05/03/10 12:30 de DB77 Pour ton mél, soit tu modifies le php.ini, ...
  • 05/03/10 17:47 de william_13 Merci encore
  • 08/03/10 14:28 de william_13 Ce n est pas une question c est j...
  •  Lire  24/02/10 01:45 de dan4
    Comment ajouter : profil, modification de profil et m...
  • 24/02/10 08:31 de DB77 Une réponse pour l'une des questions ici pa...
  •  Lire  23/02/10 21:36 de dan4
    Si je simule une inscription en ne mettant que le nom...
  • 23/02/10 21:42 de dan4 A la ligne 127 du fichier, j'ai mis // pour...
  • 24/02/10 08:30 de DB77 Le mysql_close() devrait être plus haut car...
  • 24/02/10 14:57 de dan4 Merci. J'ai vu dans un autre forum la répo...
  •  Lire  23/02/10 21:21 de dan4
    Bonjour, j'ai fait toutes les étapes.. - fichier: i...
  • 23/02/10 21:33 de dan4 Mon problème provenait d'une erreur du nom ...
  •  Lire  22/02/10 18:25 de fresh95
    bonjour, super tuto, merci bcp, tout fonctionne. S...
  • 22/02/10 22:21 de DB77 Un cookie qui s'appelle NOM_UTILISATEUR exi...
  •  Lire  22/02/10 18:14 de filou54
    merci DB77 je vais effacer tout et je vais recomme...
  • 22/02/10 22:22 de DB77 Tu peux corriger sans tout refaire :) Et u...
  • 23/02/10 08:13 de filou54 Bonjour DB77 Désoler j'avais pas vue ...
  • 23/02/10 09:14 de DB77 Tu as aussi, pour comprendre l'interaction ...
  • 23/02/10 10:53 de filou54 merci DB77 pour le lien je viens de t...
  • 23/02/10 12:49 de filou54 Bonjour DB77 j'ai recommencer mais ...
  • 23/02/10 13:16 de DB77 Décompose pour voir si tu peux envoyer un m...
  • 25/02/10 14:21 de filou54 Bonjour DB77 J'ai essayé de faire ave...
  • 25/02/10 17:29 de DB77 Pour le mél je pense qu'il faut être sur un...
  • 25/02/10 19:03 de filou54 Merci DB77 je suis chez orange , et l...
  • 25/02/10 20:04 de DB77 Si tu as ton adresse mél chez Free utilise ...
  •  Lire  22/02/10 17:22 de filou54
    Bonjour Super tuto Je suis nouveau et surtout trés ...
  • 22/02/10 17:25 de DB77 En principe ce tuto est fonctionnel tel que...
  • 25/02/10 11:31 de sthynet Oui c'est ce qu'il faut faire, je veux...
  •  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...
      v1.3p © ASP-PHP.net 2002    Suite 

    Bisou le 27/04/2009 (316 533 hits)
    Didier Téléchargez gratuitement et légalement des logiciels Microsoft ! Si, si ;)
    • Visual Studio 2010
    • Office 2010
    • Expression Studio 3
    • SQL Server 2008
    • et d'autres...
    Au fil des news  
    Magazines - Le N°128 de Programmez est disponible
    Magazines - Le N°127 de Programmez est disponible
    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
    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