Safari diğer sayfa çağrıldığında PHP oturum null

4 Cevap php

Ben Safari ajax çağrısından çağrıldığında null oluşturulan bir oturumu var.

header.php
session_start();
$_SESSION['test'] = 'this is my session';


mypage.php
session_start();
echo $_SESSION['test']; <-- NOT WORKING ON SAFARI

Teşekkürler

4 Cevap

Does it work in other browsers? Does it work in Safari without AJAX? Is this script being loaded from the same domain the original page is on?

Safari görünüşe göre daha conservative cookie policy than other browsers vardır. PHP-yan eserlerin her şey ve diğer tarayıcılar çalışıyorsanız, ben Safari geri sunucuya oturum tanımlama göndermiyor olduğunu düşünürdüm.

session_start() dosyalar hem de sonra bu satırı ekleyin ve session id bu (aynı oturumda anlamına gelir) aynı olup olmadığını söyle.

echo session_id();

o null ya da o ""?

zaman if(isset($_SESSION['test'])) Bu doğru çıkmıyor?

Bu sadece safari? Onun tarayıcı ayarlarını eğer öyleyse.

Lütfen oturum tanımlama başarıyla kaydeder ve header.php sayfanın geri kalanı bu $ _SESSION ['deneme'] okuyabilir mi?

Eğer sayfanın çok çok başında session_start () diyorlar?

Eğer herhangi bir hata mı? değilse - Deffo onlara açık var mı?

I session_id (), aynı sorunla karşı karşıya her yenileme değişen tuttu, bu yüzden safari çerezdeki session id saklamak değildi. : Elle ekleyerek

setcookie('PHPSESSID', session_id(), 0, '/');

Ben çalışma var.