|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() |
Bonjour à tous
,alors j'ai cherché sur Google et sur le moteur de rechercher de Dvlpz.com mais je n'ai rien trouvé de vraiment conséquent pour résoudre mon problème :/ Je précise tout d'abord que je suis chez l'hébergeur Jexiste (si ca peut avoir une quelconque importance Voilà mon problème : La base de mon site est un fichier index.php d'où j'effectue plusieurs includes. J'ai définit mon session_start(); en haut de ce fichier. Ensuite j'include mon fichier "/include/sessions.php" (où j'ai placé un petit echo $_SESSION['id_m'] en haut pour vérifier que mes sessions me suivent bien ^^). Jusque là aucun problème, rien ne s'affiche et c'est normal. Ensuite j'ai fait un include (selon la valeur de $_GET['page']) de "/pages/connexion.php" qui le remplit la superglobale $_SESSION (dont la valeur id_m). Si je fais un echo à la fin de mon fichier "/pages/connexion.php" et bien ma superglobale $_SESSION est bien pleine ... Le problème est que quand je change de page et que je reviens sur l'index et bien mon echo présent dans /include/sessions.php ne m'affiche rien du tout :/ C'est comme si mes sessions créées dans /pages/ se limitaient à /pages/ (est-ce normal? ..) et comment peut-on régler ce problème? Ni un echo présent sur index.php d'ailleurs. Merci d'avance
|
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
avant d'appeler "session_start" mets le code suivant :
le "/" indique que la session est valable depuis la racine du site et pour le "0" je te laisse regarder dans la documentation : http://php.net/session_set_cookie_params
__________________
Modérateur PHP |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() |
Je suis désolé mathieu mais ca ne marche pas :S
Je vais te mettre les codes des fichiers les plus importants, peut-être que tu y verras un peu plus clair que moi :/ : (Index.php) (/pages/connection.php) (/include/sessions.php) Donc si tu trouve d'où vient mon problème :S (Ou si tu vois encore des choses à améliorer dans le code ^^' Je suis dispo Merci Mathieu |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
à quoi sert tes cookies ? il y a plusieurs endroits où tu détruis ta session, peut-être que le problème est là
je viens de voir qu'à un moment tu mets le mot de passe dans un cookie, ce n'est pas très sécurisé parce que le contenu des cookies est envoyé au navigateur contrairement aux sessions
__________________
Modérateur PHP |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() |
En fait le but est de permettre une connexion via les sessions pures (donc destruction à la fermeture du navigateur) ou une connexion à plus longue échelle (transmission des données via $_SESSION mais on garde l'identifiant dans les cookies + le pass).
Pour le pass je ne vois pas le problème .. Vu que j'utilise la technique du grain de sel dans inscription.php, le sha1 qu'on enregistre dans le cookie n'est pas le hashage du pass réel, mais du pass concaténé avec une chaine de 10 chiffres écrie en clair dans la BDD... En fait le code de session.php, vérifie : * Si l'un des 2 cookies est inexistant mais que l'autre est présent : Destruction de l'autre cookie + fermeture de la session .. * Si les 2 cookies sont présents : - Si id_c et pass_c sont corrects : OK - Sinon : Destruction 2 cookies et de la session .. * Si aucun cooki n'est présent mais que la session est ouverte, on update juste les infos de $_SESSION .. Donc, le problème vient du fait que mes sessions ne se transmettent toujours pas entre pages vu que si je me connecte sans les cookies (sessions pures) et bien dans sessions.php, on atteint jamais la 3ème * (cfr. ci-dessus).. Je ne sais pas si tu me comprends bien =P |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com