Bonjour à tous.
Dans une page "work/accueil.php", j'ai une requête ajax dirigée vers une page "work/ajax_connexion.php", à laquelle j'envoie des variables. Cette dernière commence ainsi :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php session_start(); ... if(...){ $_SESSION['name'] ="authentification"; $_SESSION['_id']=...; $_SESSION['pseudo'] = $login; ... } echo json_encode(...)
Je récupère ensuite quelques données dans la fonction ajax pour modifier la page "accueil.php", et afficher les fonctionnalités spécifiques à l'usager inscrit (menu, liens).
Jusqu'ici, tout va bien.
Important : lorsque je recharge la page "work/accueil.php", qui débute aussi par
la session semble bien ouverte car les variables de session sont lues et font aussi apparaître les fonctionnalités spécifiques à l'usager inscrit.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <?php session_start();
MAIS, c'est là que ça se gâte, si je clique sur un lien réservé aux sessions, ouvertes, la session n'est plus reconnue, ce qui provoque un échec.
Le répertoire "work" sert évidemment à la mise au point des scripts.
Et, plus bizarre encore : sur le même serveur, les pages du dossier principal ("pages/") réagissent ainsi :
Si la session est ouverte comme ci-dessus par "work/accueil.php", "pages/accueil.php" la voit également ouverte (même affichage que dans "work/") mais, de la même manière, elle ne se propage pas aux pages suivantes.
Alors que, si j'ouvre la session, dans "pages/accueil.php", de la manière "classique" (en faisant la navette avec une autre page php), tout va bien...
Donc, apparemment, le problème est dans la manière dont la session est ouverte...
En gros, c'est comme s'il se créait, dans la page "ajax_connexion.php" une session "limitée" à la page qui l'a ouverte via la requête ajax.
Merci de vos réponses pour me tirer d'affaire (ce serait tellement mieux d'éviter de recharger la page d'accueil !)
Partager