Session et acces

Bonjour à tous développeurs et développeuses.

Ceci est une petite aide pour les débutants qui voudraient mettre des niveaux d'accès sur l'administration de leur site.

Tout d'abord, il faut créer une table administrateur dans laquelle vous mettez les champs login, password, numsession et numaccès.
Ensuite vous créez un page de vérification du login et du password dans lequel vous vérifierez si l'administrateur est bien enregistré dans la base de données. Si il est bien enregistré, vous lui permettez d'accéder à la partie administration du site en créant un numero de session. Une fois qu'il est sur la page administration, vous vérifiez son numero d'accès et vous affichez les liens ou non selon son niveau d'accès.

Vous devez créer un lien de fermeture pour effacer le numero de session.

Le numero de session sert à la sécurité de la partie administration. Tant que le numsession n'a pa été créé, on ne peut pas accéder au site.

Voici le code:
Enregistrer le numsession

session_start();
$NumSession = session_id();
session_register("NumSession");
session_register("MonPassword");
session_register("MonLogin");
$Query = "Update administrateur set NumSession = '".$NumSession."' where Login='".$MonLogin."' and Password='".$MonPassword."';";
 mysql_query($Query) or die ("erreur de requête");

Supprimer le numsession

session_start();
require("Connection.php");
mysql_connect(SERVEUR,NOM,MOTDEPASSE) or die ("Erreur de connexion au serveur");
mysql_select_db(BASE) or die ("Erreur de connexion a la base de données");
if (session_is_registered(NumSession))
 {
 $Query="Update administrateur set NumSession = ' ' where Login = '".$_SESSION["MonLogin"]."' and Password = '".$_SESSION["MonPassword"]."' and NumSession = '".$_SESSION["NumSession"]."';";
 mysql_query($Query) or die ("Erreur de requête : ".$Query);
 session_unset();
 session_destroy();
 }
header("location:Passwordpage.php");
?>

Vérifier que le numsession existe

session_start();
if(!session_is_registered(NumSession))
 {
 header("location:Passwordpage.php");
 }
else
 {
 require("Connection.php");
 mysql_connect(SERVEUR,NOM,MOTDEPASSE) or die ("Erreur de connexion au serveur");
 mysql_select_db(BASE) or die ("Erreur de connexion a la base de données");
 }
?> 

Ce document intitulé « Session et acces » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous