Créer un système de login en PHP - Formulaire de connexion

24 Mai 2010 - Programmation - Moyen - Ecrit par Loïc AddInto CommentairePdf

StarStarStarStarStar

1.1 Introduction

Lorsque l'on fait un site un minimum évolué, on se rend rapidement compte que l'on a besoin de gérer des permissions et que tout utilisateur ne peut pas accéder à n'importe quel contenu.

Prenons l'exemple d'un site d'e-commerce. Généralement, tout utilisateur peut consulter les catalogues de produits, mais il doit être connecté au site pour pouvoir remplir son panier et passer sa commande. Le fait de permettre aux utilisateurs de se connecter sur son site peut alors paraître compliqué, et pourtant, c'est enfantin.

 

PHP

 

Depuis la version 4.1.0, PHP nous offre la possibilité de régler facilement ce problème grâce à la variable superglobale $_SESSION ($HTTP_SESSION_VARS avant la version 4.1). Cette dernière va nous permettre de conserver des informations sur n'importe quelle page de notre site et, ainsi, d'identifier nos visiteurs et le contenu auquel ils peuvent accéder.

Dans ce tutoriel, nous allons vous apprendre à créer un système de login en PHP. Il sera accompagné d'une base de données MySQL stockant les utilisateurs de notre site.

Voici les différentes parties du tutoriel :

  • Création du formulaire de connexion
  • Connexion à la base et vérification des identifiants de l'utilisateur
  • Découverte de la variable superglobale $_SESSION
  • Déploiement des pages réservées aux utilisateurs connectés

1.2 Pré-requis

Ce tutoriel s'adresse tout d'abord aux débutants. Pour le suivre, il faudra tout de même que vous connaissiez les bases du langage PHP (variables, conditions et connexion à une base de données) puisque nous ne reviendrons pas dessus.

Bien évidemment, vous aurez besoin d'un serveur Apache, qu'il soit en ligne, ou en local. Votre bon vieux Wamp ou easyPHP suffira amplement, ne vous inquiétez pas !

Afin de ne pas perdre de temps avec la base de données, voici un script de création à récupérer et exécuter sous MySQL. La base créée, MyDB, comporte une seule et unique table qui nous permettra de stocker nos utilisateurs. Dans notre cas, trois seront déjà créés, Toto, Titi et Tutu.

 

CREATE DATABASE MyDB;
USE MyDB;

CREATE TABLE UTILISATEUR(
idUtilisateur int NOT NULL auto_increment,
nomUtilisateur varchar(50),
prenomUtilisateur varchar(50),
passwordUtilisateur varchar(50),
adresseUtilisateur varchar(100),
dateNaissanceUtilisateur date,
CONSTRAINT pkey_idUtilisateur PRIMARY KEY(idUtilisateur)
);

INSERT INTO UTILISATEUR(nomUtilisateur, passwordUtilisateur) VALUES ('Toto','totopass');
INSERT INTO UTILISATEUR(nomUtilisateur, passwordUtilisateur) VALUES ('Titi','titipass');
INSERT INTO UTILISATEUR(nomUtilisateur, passwordUtilisateur) VALUES ('Tutu','tutupass');

 

Vous pouvez également récupérer l'ensemble du projet en cliquant sur l'image ci-dessous. Il contient l'ensemble des fichiers PHP, le script SQL de création de la base, ainsi qu'une feuille de style CSS. Attention toutefois, il se peut que quelques liens hypertextes soit à modifier si vous le testez online.

 

Download

Si l'image n'apparaît pas, cliquez ici.

 

Le tutoriel est assez court et devrez vous prendre moins d'une heure si vous êtes performant. Sans plus attendre, commençons par le formulaire de connexion.

1.3 Formulaire de connexion

Pour notre tutoriel, nous allons admettre que l'utilisateur doit automatiquement s'identifier pour accéder aux pages qui composent le site. Sans cela, l'utilisateur se fera automatiquement refoulé et ramener au formulaire de connexion.

Créez une page nommée formulaire_connexion.html et déposez-y le code suivant :

 

 

Certaines balises correspondent uniquement à de la mise en page via la feuille de style CSS se trouvant dans notre projet. Si vous ne l'avez pas encore fait, nous vous conseillons d'ailleurs de le récupérer via le lien ci-dessus, cela facilitera le suivi du tutoriel.

Dans ce premier morceau de code, rien de compliqué, il s'agit simplement d'un formulaire comportant deux champs, un pour l'identifiant et l'autre pour le mot de passe. Le formulaire sera envoyé à index.php.

1.4 Fichier index.php

Le fichier index.php sera celui sur lequel l'utilisateur arrivera en se rendant sur votre site. Etant donné que l'utilisateur n'est censé accéder à aucune page tant qu'il n'est pas connecté, nous allons directement inclure notre formulaire dans la page index.php.

Pour cela, nous allons utiliser le méthode include() de PHP. Cette dernière prend en paramètre le chemin du fichier à inclure.

 

include("HTML/formulaire_connexion.html"); 

 

Dans notre cas, pour une meilleure organisation du code, nous avons placé notre formulaire de connexion dans un dossier nommé HTML. A vous de modifier la chaîne passée en paramètre en fonction de l'emplacement de votre formulaire.

Vous pouvez démarrer votre serveur et ouvrir la page index.php, vous devriez voir le formulaire que nous venons de créer. Pour le moment il ne sert à rien puisque nous n'effectuons aucune action à sa validation.

Passons donc à la partie suivante pour nous connecter à la base de données et identifier l'utilisateur.


1 2

Vous allez aimer

23 Août 2010 - Autocomplétion en AJAX

22 Juillet 2010 - Créer un flux RSS

07 Avril 2010 - Le fichier .htaccess

Ajouter un commentaire

picto Vous devez être connecté si vous souhaitez laisser un commentaire.

Wooshi, c'est une communauté dédiée aux nouvelles technologies, à Internet et à tout ce qui l'entoure.

Wooshi vous propose de suivre l'actualité High-tech, d'approfondir vos connaissances en consultant nos articles et de mettre en pratique grâce aux tutoriels.

cross En savoir plus