|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Membre éprouvé
![]() Intégrateur Web Inscription : novembre 2004 Messages : 1 077 ![]() |
Bonjour à tous,
Quand je recharge ma page ou quand je change de page, je perds ma session. 1) je me logue via un formulaire. 2) grâce à l'AJAX, je vérifie que le pseudo et le mot de passe et bon. 3) si tout est ok, redirection vers ma page principale (main.php) mes différents code : connexion.html Code :
Code :
Code :
Code :
Et donc, quand je recharge ma page ou que j'en change, ma session a disparu. Quelqu'un pourrait il m'aider? Merci
__________________
|
||||||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 965 ![]() |
Salut
En 1er tu devrais éviter de créer des pages comme connexion.html mais plutôt créer essentiellement des pages avec l'extension .php Aussi, au lieu d'utiliser comme nom et comme terme "connexion", il serait mieux d'utiliser "identification", c'est plus en phase avec la réalité. C'est pour ma part un abus de langage d'appeler ça connexion car cette notion n'y est pas. Du coup en utilisant ce terme connexion cela peu donner l'impression qu'il y a une connexion entre le serveur du site et le poste client (alors qu'il en est rien), et faire du code en dépit du bon sens. Mise à part cette petite parenthèse, vérifie du coté de ton navigateur le ou les cookie concernant ton domaine et les divers paramètres. Si une même session n'est pas conservée lors de la navigation, cela être lié à un des paramètres qui ne serait pas correcte, comme le chemin, le domaine (cookie.path, cokkie.domaine). Si rien n'est configuré à ce niveau, il est peut être nécessaire de le faire. Regarde du coté du php.ini (et de la doc de Php) les divers paramètres liés aux cookies/cookie de session. Par ailleurs, le fond du problème peut être lié au fait que la session soit à l'origine créée via de l'Ajax (donc en partie par du JS), et l'Ajax c'est particulier. Regarde du coté de la config session.cookie_httponly, par défaut elle vaut théoriquement FALSE. Fait un essai en la configurant à TRUE, juste pour voir. Puis pour vérifier plus simplement si la même session est conservée, il suffit d'afficher l'Identifiant de session avec session_id(). Place le dans main.php par exemple. Tout les reste ne sert à rien pour tester comment réagit la session. Tout ton code dans le connexion par exemple ne sert à rien (pour tester j'entends), un simple session_start() théoriquement suffit (mise à part rajouter les divers config coté cookie/session qui seraient peut être nécessaire). Ce n'est que lorsque toute cette étape fonctionne comme prévu où là on peu commencer à rajouter toutes sorte de sur-couche de code plus ou liés aux sessions. NB : Attention aux sauts de lignes (même un espace) avant les session_start(), il ne doit surtout pas en avoir, ça peut créer ce genre de problème.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com