Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres

Utiliser une base de données pour sécuriser vos sessions

Date de publication : 28/08/2006


5. Mise en application des fonctions
5.1. Le Formulaire d'identification
5.2. Les autres pages du site


5. Mise en application des fonctions


5.1. Le Formulaire d'identification

Nous avons désormais tout le nécessaire pour écrire le script général qui va vérifier d'abord si une session existe et ensuite si elle est enregistrée dans la base de données. Si aucune session n'est présente dans la base de données, le formulaire sera affiché.
Quand le couple username/password est correct, on enregistre la session dans la base de données (après avoir supprimé la session existante).
Script général

if ($userdata = getUserinfo()) {
	openSession($userdata['id']);
	getMsg($userdata['username']);
} else {
	if (!$_POST) {
		// Affiche le formulaire
		getFormView();
	} else {
		// Vérifie si le couple username/password est correct
		if (!$loginCheck = getLoginCheck($_POST['username'], $_POST['password'])) {
			// On réffiche le form
			getFormView();
			echo 'pas bon';
		} else {
			// On nettoie la db
			dbClean();
			
			// On initialise la session avec le userid récupérer
			// par loginCheck
			openSession($loginCheck);
			$userdata = getUserInfo();
			
			if (empty($userdata)) {
				die('erreur');
			}
			
			getMsg($userdata['username']);
		}
	}
}

5.2. Les autres pages du site

Le but des sessions étant de garder les informations d'une page à l'autre, pour récupérer ces informations, on devra désormais faire appel à la fonction getInfoUser().
Par exemple, si vous avez une architecture du site qui ressemble à:

  1. common.php
  2. index.php
  3. test.php
Avec common.php qui va inclure tous les script nécessaires en haut de chaque page.
index.php qui contiendra le formulaire d'identification.
Et test.php que je vais vous expliquer ci-dessous.

Pour récupérer les informations contenues dans la session vous devez, comme je l'ai mentionné plus haut, utiliser la fonction getUserInfo() de cette façon-ci dans common.php:
common.php

if (!$userdata = getUserInfo()) {
	$userdata = array();
}
Grâce à cette ligne, vous pourrez avoir toutes les informations que vous voudrez simplement en incluant le fichier common.php.
Par exemple, le fichier test.php :
test.php

require_once 'common.php';

if (!empty($userdata['username'])) {
	echo 'Bonjour '.$userdata['username'];
} else {
	echo 'Bonjour Anonyme';
}
 

Copyright ©2006 Adrien Pellegrini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com