Créer un site gratuitement    Tutoriels    Créer un espace perso    Créer la page d'authentification
Mes favoris    Ajouter l'article à vos favoris

Créer la page d'authentification

A quoi sert la page d'identification ?
La page d'identification sera la porte d'entrée de votre espace perso protégé, c'est à partir de celle-ci que vous vous connecterez.
Ce n'est qu'après que vous accèderez à vos fichiers protégés.

Nom du fichier :
Cette page s'intitulera `index.php` et sera disposé dans le dossier que vous souhaitez protéger (ex: /espace-perso/index.php).

Il faudra en premier lieu activer les sessions php qui vous serviront à garder en mémoire l'identifiant et le mot de passe et inclure le fichier qui contiendra par la suite l'identifiant et le mot de passe qui vous serviront à vous identifier :
<?php
// On active les sessions :
session_start();
 
// On inclus les données de connexion :
include('./inc/donnees.php');
?>
Il est évident que toute cette partie ainsi que les prochaines lignes de code doivent se situer avant la première balises html.
Si on anticipe les fonctionnalités de la page d'identification, on peut ajouter quelques lignes permettant de vérifier si le visiteur a gardé en mémoire l'identifiant et le mot de passe.
Si c'est le cas, le visiteur sera alors redirigé vers la page d'accueil de l'espace perso en question :
<?php
// On teste si le visiteur ne serait pas encore connecté :
if((isset($_SESSION['identifiant'])) && (isset($_SESSION['mot_de_passe'])))
{
	// On teste les données des sessions avec celles du fichier :
	if(($_SESSION['identifiant'] == $Identifiant)
	&& ($_SESSION['mot_de_passe'] == $Mot_de_passe))
	{
		// Si elles correspondent, on redirige à la page d'accueil :
		header('Location: ./accueil.php');
		exit();
	}
}
?>
Il est aussi intéressant de limiter les tentatives de connexion pour éviter aux visiteurs mal intentionnés de créer un script capable de tester tous les mots de passes impossibles et inimaginables (dont le votre).
Pour cela, il faut créer une session comptant le nombre de tentatives ratés :
<?php
// On créait la session `essai` si elle n'existe pas :
if(!isset($_SESSION['essai'])) $_SESSION['essai'] = 0;
?>
Ensuite vient le gros du gros, la partie permettant de vérifier les données entrées dans les champs identifiant et mot de passe du formulaire (que nous n'allons pas tarder à créer) :
<?php
// On teste si le formulaire a été soumis :
if((isset($_POST['identifiant'])) && (isset($_POST['mot_de_passe'])))
{
	// On teste les données entrées dans le formulaire avec celles du fichier :
	if(($_POST['identifiant'] == $Identifiant)
	&& (md5($_POST['mot_de_passe']) == $Mot_de_passe))
	{
		// Si celles-ci sont identiques, on créait les sessions `identification`
		//  et `mot_de_passe` :
		$_SESSION['identifiant'] = $_POST['identifiant'];
		$_SESSION['mot_de_passe'] = md5($_POST['mot_de_passe']);
 
		// Puis on redirige le visiteur vers la page d'accueil de l'espace perso :
		header('Location: ./accueil.php');
		exit();
	}
	else
	{
		// Si celles-ci ne sont pas identiques, on incrémente le nombre d'essai :
		$_SESSION['essai']++;
 
		// Puis on redirige le visiteur vers la page d'authentification :
		header('Location: ./index.php');
		exit();
 
		//!\ Cette redirection est nécessaire /!\
	}
}
?>
Les variables $Identifiant et $Mot_de_passe sont inclusent dans le fichier `donnees.php`, elles comprennent comme vous l'avez compris, l'identifiant et le mot de passe nécessaire à l'identification.

C'est à partir de maintenant qu'on s'attaque à la partie HTML (le code qui suit doit donc se situer dans les balises ).
Avant d'afficher le formulaire de connexion, on vérifie si le nombre d'essai n'a pas été dépassé, si c'est le cas on affiche un message d'avertissement (à vous de faire preuve d'imagination et de le personnaliser à souhait), sinon on affiche le formulaire :
<?php
// On vérifie que le nombre d'essai n'a pas été dépassé :
if($_SESSION['essai'] >= $Essai)
{
	// Si c'est le cas, on affiche un message de garde :
 
}
else
{
	// Sinon on affiche le formulaire :
 
	// Le formulaire est plus bas sur cette page ;)
}
?>
Le formulaire de connexion comportera deux champs (identifiant et mot de passe) et deux boutons (valider et réinitialiser) :
<form method="post" action="./index.php" class="connexion">
 
<label for="identifiant">
	Identifiant :
	<br />
	<input type="text" name="identifiant" id="identifiant" />
</label>
 
<br />
<br />
 
<label for="mot_de_passe">
	Mot de passe :
	<br />
	<input type="password" name="mot_de_passe" id="mot_de_passe" />
</label>
 
<br />
<br />
 
<input type="submit" name="valider" value="Valider" />
<input type="reset" name="reinitialiser" value="Réinitialiser" />
 
</form>
En cas de problème de compréhension dans le formulaire, je vous conseil de lire le tutoriel créer un formulaire.
Il est aussi possible d'afficher le nombre d'essais de connexion du visiteur à l'intérieur du formulaire en affichant le nombre compris dans la session `essai` :
<?php
echo 'Essai n°'.$_SESSION['essai'] + 1;
?>
Votre page de connexion est maintenant terminé, vous pouvez maintenant la modifier (autant sur l'aspect fonctionnalité que sur la présentation ...).

Participez au développement du site en laissant vos impressions.

Commentaire/demande concernant l'article :


Recopiez le contenu de cette image :
Code anti-robot  »