Donnez votre avis

Session et acces

Posez votre question
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");
 }
?> 

Publié par Troll29. Dernière mise à jour le 3 septembre 2013 à 14:46 par pijaku.

Ce document intitulé «  Session et acces  » issu de CodeS-SourceS (https://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.

Ajouter un commentaire

Commentaires

Commenter la réponse de Troll29