Designed by Gaetan !
86 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  21/07/10 19:22 de ketchopi
Sécurité ? Bonjour à tous, tout d'abord : excel...
  • 22/07/10 09:25 de DB77 Au-delà de votre remarque, un cookie peut ê...
  • 22/07/10 21:58 de Didier On stocke généralement une autre informa...
  • 23/07/10 11:27 de DB77 Salut Didier, Tu peux approfondir :) ...e...
  • 27/07/10 22:35 de ketchopi oups, excusez du temps de réponse, ma...
  • 28/07/10 13:04 de DB77 Pour les méls, Didier n'a pas encore résolu...
  •  Lire  14/07/10 08:26 de haddlib
    salut, Super code il fonctionne pafaitement, a l'exc...
  • 15/07/10 13:33 de haddlib update : probleme de bienvenu "utilis...
  • 15/07/10 14:52 de DB77 Si tu sais tester l'utilisateur connecté, t...
  • 19/07/10 14:39 de haddlib Bonjour J'arrive a lier le pseudo ver...
  • 20/07/10 08:52 de DB77 Il faut : 1 - Connaître l'ID de la personn...
  • 21/07/10 15:47 de haddlib J'ai ces lignes en place dans un fichi...
  • 21/07/10 18:59 de DB77 Tu n'as rien oublié mais es-tu sûr de repas...
  • 22/07/10 17:11 de haddlib Bingo !! je n'avais pas pensé a ce sat...
  • 22/07/10 19:35 de DB77 La date est un int(10) donc elle contient u...
  • 23/07/10 19:02 de haddlib Probleme identique, le code ne resoud ...
  • 24/07/10 07:20 de DB77 Si tu veux simplement stocker la date, sans...
  • 24/07/10 07:38 de DB77 Regarde là : http://www.asp-php.net/tutoria...
  • 26/07/10 22:23 de haddlib Je n'ai pas trouvé de solution (a mon ...
  • 27/07/10 21:42 de haddlib Bon ben hier ça ne marchait pas, mais ...
  •  Lire  07/07/10 18:22 de Teti
    Bonjour à tous. J'aimerais savoir quel est l'intérêt ...
     Lire  18/06/10 15:53 de deadmagie
    Ce code va til permettre d'avoir plusieur compte acti...
  • 18/06/10 16:55 de DB77 Bin heureusement ! Sinon à quoi cela servi...
  •  Lire  06/06/10 11:42 de mondez57
    Bonjour à tous, J'ai un petit souci au niveau de c...
  • 06/06/10 16:46 de mondez57 salut tous, Merci je résolu mon pro...
  •  Lire  04/06/10 16:06 de distar1
    Problème d'activation de compte... Bonjour, je suis ...
     Lire  04/06/10 16:03 de distar1
    Problème d'activation de compte...
     Lire  28/05/10 09:51 de randy22
    Bonjour c'est encore moi, je suis entrain de réaliser...
  • 28/05/10 10:54 de DB77 Bin tu crées une session et tu la testes ;)...
  • 28/05/10 12:10 de aureliedemange Bonjour, Etant novice en ...
  •  Lire  26/05/10 10:21 de randy22
    Ne peut-on pas gerer des comptes utilisaturs en asp s...
     Lire  11/05/10 17:17 de Falcon51170
    Bonjour , Alors j'ai un probleme j'ai retranscris to...
  • 11/05/10 17:29 de Falcon51170 Je crois que a ce moment <form...
  • 11/05/10 17:46 de cricri1 rien si tu veux appeler la page elle m...
  • 11/05/10 17:51 de Falcon51170 ok alors pourquoi ça marche pas ...
  • 12/05/10 14:39 de cricri1 tester ton site pb ligne 157 ou avant ...
  • 12/05/10 18:51 de Falcon51170 Quel page ?
  • 13/05/10 21:17 de cricri1 bein creer-com pte-utilisateur.php
  • 14/05/10 14:33 de Falcon51170 Et je dois mettre quoi entre les...
  •  Lire  09/05/10 01:32 de Amelie16
    salut, en fin j'ai réussi a implémenter le code dans ...
  • 10/05/10 21:33 de Amelie16 Une réponse svp, question de vie ou d...
  • 11/05/10 07:36 de DB77 Ici, ce n'est pas houdini qui répond :) Co...
  • 11/05/10 12:36 de Amelie16 le problème et que quand je suis conn...
  • 11/05/10 15:46 de DB77 Si c'est une protection avec une variable d...
  • 11/05/10 18:08 de Amelie16 mais je n'ai pas utilisé de sessions ...
  • 12/05/10 21:26 de Amelie16 SOS houdini
  •  Lire  06/05/10 13:33 de lerac
    bonjour, j'ai plein de question, alors on va commenc...
  • 06/05/10 13:52 de DB77 Celle que tu veux, l'important étant, lors ...
  • 06/05/10 14:09 de lerac comment ça ? (je débute ...)
  • 06/05/10 14:46 de DB77 Tu lances PhpMyAdmin et tu crées une base d...
  • 06/05/10 15:13 de lerac ok merci, question 1 résolue 2) pourqu...
  • 06/05/10 15:17 de lerac (pour l'inscription ...) creer-compte-uti...
  • 06/05/10 15:35 de DB77 Déjà, il faut remplacer : <? ... ?> par ...
  • 06/05/10 15:41 de DB77 J'ai modifié, dans le code, la balise <? .....
  • 06/05/10 16:06 de lerac oui en effet, j'ai essayer, sa marche mie...
  • 06/05/10 16:15 de DB77 NON : Une seule fois php pas deux : <?php ...
  • 06/05/10 17:39 de lerac oui, avec une fois php, sa ne marche pas ...
  • 06/05/10 17:41 de lerac j'ai ça : http://</?php= $_SERVER['SERVER...
  • 06/05/10 19:52 de DB77 Donc tu as un / en trop ! <?php et non </p...
  • 06/05/10 19:54 de lerac dans le code, je n'est pas de / ... c'est...
  • 07/05/10 19:30 de DB77 Dans ce cas là, essaye de ne garder que scr...
  •  Lire  06/05/10 12:34 de sitafa
    bjr jé fai comme vous avez mais j arrive pas a envoyé...
  • 06/05/10 14:05 de DB77 Lis les messages précédents, on n'arrête pa...
  •  Lire  28/04/10 11:02 de 03audrey03
    Bonjour, moi j'ai créer la table comptes_utilisateurs...
  • 28/04/10 11:11 de DB77 Le champ ID_Utilisateur doit être indexé, (...
  •  Lire  26/04/10 23:13 de ISLEMBINOUS
    bonjour, j ai un probleme avec ce tuto, pour s inscr...
     Lire  26/04/10 15:50 de apprenti76
    Re, j'ai un souci ma base n'incremente pas la date. ...
     Lire  25/04/10 16:53 de bastian06
    Bonjour, lors de la création du champ ID_Utilisateur ...
  • 25/04/10 19:51 de DB77 C'est quand même clair comme message : Déf...
  • 26/04/10 12:45 de bastian06 J'ai corrigé le problème de la bdd ...
  • 26/04/10 13:15 de DB77 Essaye de remplacer <? ... ?> par <?php ......
  • 26/04/10 13:38 de bastian06 Génial, pourquoi n'y ai-je pas pens...
  •  Lire  22/04/10 21:52 de sasuke18
    bonjour, j'arrive a activer mon compte mais lors de l...
     Lire  21/04/10 18:30 de apprenti76
    Bonjour et merci pour ce tuto. voila j'ai installer ...
  • 26/04/10 09:49 de apprenti76 Bonjour a tous, Pb resolu je l'ai...
  •  Lire  21/04/10 17:23 de sonia222
    Bonjour, Je vient d'exécuter les codes de ce tuto, ...
  • 23/04/10 16:05 de DB77 Problème soulevé des centaines de fois ! R...
  •   v1.3p © ASP-PHP.net 2002    Suite 

    Bisou le 06/05/2010 (378 017 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°132 de Programmez est disponible
    Les alertes dans SharePoint 2007 - Comment SharePoint 2007 gère les User Alerts
    Une des fonctionnalités de base de SharePoint, aussi bien dans Windows SharePoint Services (WSS) ...
    Adobe - Photoshop.com Mobile pour Android 1.2
    Adobe - Adobe dévoile une technologie de lecture.......
    PHP - Experts PHP : participez au Forum PHP 2010 !
    PHP - Fobec.com - Code source PHP & javascript
    Foliotage alphabétique - Lister sur la première lettre d'un champ
    Pour faire suite à l'article de JPierre sur la pagination alphabétique, voici, en ASP et en PHP, ...
    Dreamweaver CS4 + Php + Mysql - Pagination alphabétique
    Je vous propose la création d'une barre de navigation ou pagination alphabétique pour filtrer les ...
    Adobe - HTML5 dans Dreamweaver CS5
    VBScript - Déterminer si un chemin est absolu ou relatif
    VBScript - Lire/écrire un fichier texte
    Magazines - Le N°130 de Programmez est disponible
    Hebergement - Hébergement à prix libre
    Adobe - Adobe Creative Suite 5
    PHP - Calcul de la date de Pâques
    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
    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
     TechNet Groupes Utilisateurs Microsoft ASP-magazine DotNet Project MVP