Designed by Maunakea !
47 en ligne
  Forum | Actu | Glossaire | Codes | Tips | Liens | Livres | Annuaire
 

 Recherche





   

[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  01/02/12 10:47 de bieregeek
Bonjour, j'aimerais savoir si on peut tester le tuto ...
  • 02/02/12 15:05 de DB77 Installe EasyPhp par exemple, mais pour l'e...
  •  Lire  23/01/12 18:38 de Gyder
    Bonjour, je m'excuse, mais étant néophyte, je n'ar...
     Lire  07/12/11 10:26 de scrab88
    Comment ajouter l'inévitable : "Mot de passe oublié?"
  • 07/12/11 19:10 de DB77 Exemple ici : http://www.asp-php.net/scrip...
  •  Lire  27/11/11 18:26 de comesta
    Bonjour à tous, moi aussi, j'ai voulu créer la tab...
  • 28/11/11 13:53 de DB77 CREATE TABLE `comptes_utilisateurs` ( `I...
  •  Lire  15/10/11 23:20 de greg57690
    Bonsoir, J'ai un petit soucis, j'ai crée les différ...
     Lire  04/10/11 21:59 de bahrounitarek
    Bonsoir, j'ai un projet avec dreamweaver est ce que j...
     Lire  29/09/11 03:34 de yeapah
    Bonsoir, J'ai un problème en ce qui concerne l'ét...
     Lire  29/09/11 00:16 de etapdesign
    Bon désolé pour les commentaires juste avant, mais là...
  • 30/09/11 11:46 de DB77 Cela veut dire que l'utilisateur existe déj...
  •  Lire  28/09/11 23:36 de etapdesign
    Bonsoir, dès le début, je rencontre une erreur et je ...
  • 28/09/11 23:41 de etapdesign J'ai trouvé mon erreur, il y avait...
  • 28/09/11 23:42 de etapdesign Je suis une catastrophe excusez mo...
  •  Lire  12/09/11 01:37 de baptiste14370
    bonjour je suis debutent en php et quand j'aissaye de...
  • 12/09/11 19:14 de lolo5971 Coucou, Tu dis que tu as les erreur...
  •  Lire  26/08/11 11:21 de Djibril76
    Bonjour. Je suis nouveau sur votre site. Mais je pens...
     Lire  25/08/11 21:42 de jero
    Bonjour ce tuto est vraiment bien expliquer , car ...
  • 25/08/11 22:24 de jero et aussi je ne sais pas ce que je doit fair...
  • 27/08/11 23:02 de DB77 Avant de se lancer dans une application com...
  •  Lire  24/08/11 17:30 de acidenitr0s
    Bonjour ce tuto est super. mais j'ai un petit prob...
  • 25/08/11 14:49 de DB77 Il faut configurer correctement ton php.ini...
  •  Lire  21/07/11 04:41 de masterfree
    Bonjour à tous, J'ai voulu créer la table mais j'a...
  • 22/07/11 09:55 de DB77 Tu installes par exemple EasyPHP et tu crée...
  • 22/07/11 12:17 de masterfree C'est déjà installé tout ça, le pr...
  • 22/07/11 13:00 de DB77 Mais sous EasyPHP, ça marche ou pas ?
  • 22/07/11 13:09 de DB77 CREATE TABLE `Comptes_Utilisateurs` ( `ID_...
  • 22/07/11 17:56 de masterfree Maintenant, ça marche avec ce que ...
  • 27/11/11 18:24 de comesta Répondre à masterfree Bonjour à tous,...
  •  Lire  21/06/11 16:13 de BlackMarley
    Bonjour, j'ai bien suisvi ce tuto mais je bloque à ce...
  • 21/06/11 18:36 de Didier Fais un echo "<pre>".print_r($_SERVER,tr...
  •  Lire  15/06/11 10:45 de xav105
    Bonjour, merci pour ce tuto qui m'a bien aidé pour ...
     Lire  13/06/11 20:28 de david13
    bjr à tous oui j'essaye de créer le Comptes_Utilisate...
  • 14/06/11 08:33 de DB77 NOT NULL + DEFAULT NULL : tu ne crois pas q...
  •  Lire  30/04/11 16:50 de soraya95610
    Bonjour, J'ai une question concernant l'étape : C...
  • 30/04/11 16:57 de DB77 De la même manière : <?php if(isset($_COOK...
  • 30/04/11 17:15 de soraya95610 J'ai essayé mais cela ne fonctio...
  • 30/04/11 20:20 de DB77 Si tu ouvres deux IF il faut fermer deux fo...
  • 30/04/11 20:54 de soraya95610 Super le problème est résolu ! ...
  • 30/04/11 22:04 de DB77 En haut de chaque page que tu veux protéger...
  • 30/04/11 22:09 de soraya95610 J'ai mis la ligne de code mais j...
  • 30/04/11 22:11 de DB77 C'est un exemple que j'ai mis, peut-être qu...
  • 30/04/11 22:15 de soraya95610 Désolé mais là j'ai plus le mess...
  • 30/04/11 22:19 de DB77 Et retire les sauts de ligne dus au copier/...
  • 30/04/11 22:20 de DB77 Je n'ai pas regardé ce que fait le module q...
  • 30/04/11 22:23 de DB77 En fait, Bisou fait un COOKIE et non une SE...
  • 30/04/11 22:26 de soraya95610 Quel module ? J'ai suivis le tut...
  • 30/04/11 22:39 de soraya95610 J'ai essayé <?php if(!isset($_CO...
  • 30/04/11 23:14 de DB77 Regarde le code !!! J'ai oublié de fermer ...
  • 30/04/11 23:40 de soraya95610 C'est bon ça fonctionne merci. ...
  • 01/05/11 07:20 de DB77 C'est pour ça qu'il ne faut pas griller les...
  •  Lire  30/04/11 16:44 de soraya95610
  • 30/04/11 16:44 de soraya95610 Warning: mysql_close(): no MySQL...
  • 30/04/11 16:55 de DB77 Apparemment rm75 l'a trouvée lui ;) cf. plu...
  • 30/04/11 21:04 de soraya95610 J'ai lu la réponse de rm75 mais ...
  • 30/04/11 22:12 de DB77 Dans ce cas là met : @mysql_close();
  •  Lire  28/04/11 16:44 de rm75
    Bonjour, J'ai utilisé le script comme indiqué mais...
  • 29/04/11 10:45 de DB77 Bin, tu veux fermer alors que ce n'est pas ...
  • 29/04/11 16:36 de rm75 oui j'ai trouvé le hic, un { mal placé. Mer...
  • 29/04/11 17:12 de DB77 Va jeter un oeil dans les tutos : Tutorial...
  • 30/04/11 21:15 de soraya95610 Concernant la partie Mail as-tu ...
  • 30/04/11 22:12 de DB77 Regarde phpmailer ;)
  •   v1.3p © ASP-PHP.net 2002    Suite 

    Bisou le 27/08/2011 (620 831 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  
    PHP - Drupagora : 1ère edition
    Utiliser Reporting Services pour des NewsLetter - SQL Server Reporting Services et les NewsLetters
    Le moteur de rapport inclus dans Microsoft SQL Server permet de créer de nombreux rapports ...
    Changer la page d'erreur 401 SharePoint - La page d'erreur d'authentification SharePoint
    Avec l'authentification classique des sites SharePoint, l'erreur d'authentification est gérée par ...
    PHP - Graphique de l'angle du soleil en fonction du lieu
    PHP5 - Graphique de l'angle du soleil en fonction du lieu
    Adobe - Disponibilité d'Adobe Creative Suite 5.5
    Les Thèmes dans SharePoint 2010 - Gérer les thèmes dans SharePoint 2010
    SharePoint 2010 apporte de nombreuses modifications dont certaines dans le principe des thèmes.
    JavaScript - fonction qui affiche l'heure à travers javascript
    Installer SharePoint Foundation 2010 sur Windows 7 - Installer SP Foundation 2010 sur Windows Seven
    Lorsque l'on souhaite développer dans le monde SharePoint, il existe plusieurs solutions. La ...
    SharePoint et SQL Server 2008 R2 Report Server - Comment accéder à SharePoint depuis SSRS 2008 R2
    Depuis la première version, la solution de rapport proposée par Microsoft "SQL Server Reporting ...
    JS - Envoi d'un formulaire après chargement d'une image
    Divers - Bannir une ip dans le global asax
    Dreamweaver CS5 - Nouvelle version Dreamweaver CS5
    Déjà plus de 6 mois que le produit est sorti, il fallait bien que je vous en parle un peu. Je vous ...
    SharePoint Output Caching dans un site Intranet - Comment utiliser le cache dans un site Publishing
    Afin de permettre l'amélioration des performances de sa ferme MOSS utilisée pour le site portail ...
    Adobe - Adobe lance le Musée Adobe des Médias Numériques
    Adobe - Adobe lance HTML5 Pack pour Illustrator CS5
    PHP - Forum PHP 2010 : Le programme
    Magazines - Le numéro 133 de programmez est disponible
    Adobe - Adobe lance des applications Photoshop Express....
    PHP - Détermination de l'intersection entre 2 segments
    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
    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 DotNet Project Groupes Utilisateurs Microsoft TechNet