Session PHP est nulle lorsqu'elle est appelée dans une autre page dans safari
J'ai une session créée qui est nulle lorsqu'elle est appelée à partir d'un appel ajax sur Safari.
header.php
session_start();
$_SESSION['test'] = 'this is my session';
mypage.php
session_start();
echo $_SESSION['test']; <-- NOT WORKING ON SAFARI
Grâce
- Avez-vous vérifié que les cookies sont activés? 🙂
Vous devez vous connecter pour publier un commentaire.
Ça fonctionne dans d'autres navigateurs?
Cela fonctionne dans Safari, sans AJAX?
Ce script est-il chargé à partir du même domaine que la page d'origine est sur?
Safari a apparemment une plus conservateur politique de cookie que les autres navigateurs. Si tout côté PHP fonctionne, et d'autres navigateurs, je pense que Safari n'est pas d'envoyer le cookie de session sur le serveur.
J'ai été confrontée au même problème, session_id() change à chaque actualisation, de sorte que safari n'était pas stocker l'id de session dans le cookie. En ajoutant manuellement:
setcookie('PHPSESSID', session_id(), 0, '/');
Je l'ai eu à travailler.
Ajouter cette ligne après la
session_start()
à la fois les fichiers et dites-moi si l'id de session, c'est la même chose (ce qui signifie que vous êtes dans la même session).est-il
null
ou est-il""
?lorsque vous
if(isset($_SESSION['test']))
ne revient-elle vraie?est-ce seulement un safari? si oui, ses paramètres de votre navigateur.
Est votre cookie de session enregistre avec succès et vous pouvez y lire que $_session['test'] dans le reste de header.php la page?
ne vous appeler session_start() au tout début de la page?
avez-vous des erreurs? si non, vous avez reviendrais sans aucun doute les ai allumé?