Comprendre les session php
Fermé
Bonjour,
J'ai cherché sur le site du zero ou encore sur phpdebutant mais je n'ai pas trouvé ce que je voulais.
Alors voilà, je m'explique :
Je voudrais faire des session sur monsite, pour que par exemple il y est des autorisation ou pas d'allez sur des pages du sites, que certain membre puisse voir une page et pas d'autre.
Ensuite j'aimerai qu'il y ai un pseudo pour chaque utilisateur, pour mettre les commentaire sous les photo.
Donc en gros moi ce que je pense c'est qu'il faut stocké des variable dans un fichier texte qui contiendrai une information par ligne avec par exemple en 1ere ligne le pseudo, en deuxieme ligne le password en 3eme ligne un code d'autorisation, etc
Dite moi si je me trompe parceque c'est que de supposition. en me lançant dans les session je part dans l'inconnu.
J'ai cherché sur le site du zero ou encore sur phpdebutant mais je n'ai pas trouvé ce que je voulais.
Alors voilà, je m'explique :
Je voudrais faire des session sur monsite, pour que par exemple il y est des autorisation ou pas d'allez sur des pages du sites, que certain membre puisse voir une page et pas d'autre.
Ensuite j'aimerai qu'il y ai un pseudo pour chaque utilisateur, pour mettre les commentaire sous les photo.
Donc en gros moi ce que je pense c'est qu'il faut stocké des variable dans un fichier texte qui contiendrai une information par ligne avec par exemple en 1ere ligne le pseudo, en deuxieme ligne le password en 3eme ligne un code d'autorisation, etc
Dite moi si je me trompe parceque c'est que de supposition. en me lançant dans les session je part dans l'inconnu.
A voir également:
- Comprendre les session php
- Easy php - Télécharger - Divers Web & Internet
- Retour a la ligne php ✓ - Forum PHP
- Estelle vient de verrouiller sa session d'ordinateur. que peut-on dire ? - Forum Windows
- Www.yahoomail.com ouverture de session ✓ - Forum Yahoo mail
- Verrouiller la session et laisser programme en tâche de fond ✓ - Forum Windows 7
7 réponses
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
30 oct. 2009 à 21:09
30 oct. 2009 à 21:09
l'ideal avec les session et pour faire simple, tu stock les infos qui te sont utile dans une base de donnée:
login,password crypté et evidement l'id du visiteur pour connaitre son statut , (admin avec tout les droits, visiteur avec auccun droits, utilisateur avec certains droits, ces infos peuvent etre stockées dans une autre table ) que tu reliera avec l'id
ensuite sur cahque page php au tout début
tu met simplemnt ça
session_start();
tu recupere la valeur de ta session et tu compare avec ta bd et en fonction de ça tu permet ou pas d'acceder a des pages ou des portions de pages.
la solution du fichier texte à l'inconvénient d'etre moins sécurisée, ensuite tu a la solution du fichier .htacess
en esperant t'avoir eclairé un peu
login,password crypté et evidement l'id du visiteur pour connaitre son statut , (admin avec tout les droits, visiteur avec auccun droits, utilisateur avec certains droits, ces infos peuvent etre stockées dans une autre table ) que tu reliera avec l'id
ensuite sur cahque page php au tout début
tu met simplemnt ça
session_start();
tu recupere la valeur de ta session et tu compare avec ta bd et en fonction de ça tu permet ou pas d'acceder a des pages ou des portions de pages.
la solution du fichier texte à l'inconvénient d'etre moins sécurisée, ensuite tu a la solution du fichier .htacess
en esperant t'avoir eclairé un peu
justement, le .htacess c'est quoi ? j'avis pensé faire avec ça mais j'ai pas compris.
sinon c'est vrai que avec la BDD ça parait simple je vais le tenté.
Engros je met
session_start(); au début du code
ensuite je test si l'utilisateur existe et ensuite je met les variable de la BDD lui correspondant dans les variable super global $_SESSION[]; qui marche comme un tableau si j'ai bien compris.
sinon c'est vrai que avec la BDD ça parait simple je vais le tenté.
Engros je met
session_start(); au début du code
ensuite je test si l'utilisateur existe et ensuite je met les variable de la BDD lui correspondant dans les variable super global $_SESSION[]; qui marche comme un tableau si j'ai bien compris.
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
30 oct. 2009 à 21:31
30 oct. 2009 à 21:31
le .htaccess est un fichier généré (en général car tu peut aussi faire un script pour le faire) par l'utilitaire d'apache qui se trouve dans le repertoire bin d'apache
il permet de restreindre l'acces à certains repertoire ou fichier de ton site, mais si tu veut afficher certains boutons (par exemple) dans ta page en fonctions de l'utilisateur qui la parcours, la il te faut passer (je dirais obligatoirement) par les session.
un petit exemple rapide
ce petit bout de code permet de savoir si une session visiteur ,admin ou inconnue est en cours.
Comment on l'obtient cette session ..? simplement avec le formulaire d'identification ou tu rentre ton login et ton MDP
tu verifie que les 2 existe dans ta BD si oui tu verifie les droits du type et ensuite tu lance une session. dans tes pages après tu peut faire un truc du genre
ce qui revient a affciher un bouton d'acces au panneau d'administration que si c'est quelqu'un qui a les droits suffisants pour y acceder.
Evidemment pour des raisons de sécurité ce code ne peut pas etre appliqué directement, mais cela pour te montrer le principe des sessions
il permet de restreindre l'acces à certains repertoire ou fichier de ton site, mais si tu veut afficher certains boutons (par exemple) dans ta page en fonctions de l'utilisateur qui la parcours, la il te faut passer (je dirais obligatoirement) par les session.
un petit exemple rapide
if(isset($_SESSION['visiteur'])) { $visiteur=$_SESSION['visiteur']; } elseif(isset($_SESSION['admin'])) { $admin=$_SESSION['admin']; } else { //aucun enregistremebnt ne correspond ou on est arrivé directement sur la page sans s'identifier $visiteur=null; $admin=null; }
ce petit bout de code permet de savoir si une session visiteur ,admin ou inconnue est en cours.
Comment on l'obtient cette session ..? simplement avec le formulaire d'identification ou tu rentre ton login et ton MDP
tu verifie que les 2 existe dans ta BD si oui tu verifie les droits du type et ensuite tu lance une session. dans tes pages après tu peut faire un truc du genre
if(isset($admin)) { echo'<input type="button" value="acceder au panneau d'administration" />'; }
ce qui revient a affciher un bouton d'acces au panneau d'administration que si c'est quelqu'un qui a les droits suffisants pour y acceder.
Evidemment pour des raisons de sécurité ce code ne peut pas etre appliqué directement, mais cela pour te montrer le principe des sessions
OK merci beaucoup !
regarde j'ai mis un autre post sur le forum ( j'aurai du y posté ici mais j'y est pas pensé sur le coup sorry)
regarde j'ai mis un autre post sur le forum ( j'aurai du y posté ici mais j'y est pas pensé sur le coup sorry)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
30 oct. 2009 à 21:44
30 oct. 2009 à 21:44
de rien ;-)
j'ai un probleme maintenant ^^
voila je suis sous easy php 3.0 pour simulé mon code php , et pour me connecter a ma BD je tape :
mysql_connect(localhost,root,mysql) or die("erreur de connexion au serveur");
Mais le navigateur m'affiche 2 :
Notice: Use of undefined constant localhost - assumed 'localhost' in C:\Users\bougnolv\Desktop\Programmation\Site WEB\FCSI\php_verif.php on line 64
Notice: Use of undefined constant root - assumed 'root' in C:\Users\bougnolv\Desktop\Programmation\Site WEB\FCSI\php_verif.php on line 64
Notice: Use of undefined constant mysql - assumed 'mysql' in C:\Users\bougnolv\Desktop\Programmation\Site WEB\FCSI\php_verif.php on line 64
Notice: Undefined variable: session in C:\Users\bougnolv\Desktop\Programmation\Site WEB\FCSI\php_verif.php on line 65
la ligne 64 c'est mon mysql_connect.
voila je suis sous easy php 3.0 pour simulé mon code php , et pour me connecter a ma BD je tape :
mysql_connect(localhost,root,mysql) or die("erreur de connexion au serveur");
Mais le navigateur m'affiche 2 :
Notice: Use of undefined constant localhost - assumed 'localhost' in C:\Users\bougnolv\Desktop\Programmation\Site WEB\FCSI\php_verif.php on line 64
Notice: Use of undefined constant root - assumed 'root' in C:\Users\bougnolv\Desktop\Programmation\Site WEB\FCSI\php_verif.php on line 64
Notice: Use of undefined constant mysql - assumed 'mysql' in C:\Users\bougnolv\Desktop\Programmation\Site WEB\FCSI\php_verif.php on line 64
Notice: Undefined variable: session in C:\Users\bougnolv\Desktop\Programmation\Site WEB\FCSI\php_verif.php on line 65
la ligne 64 c'est mon mysql_connect.