Safari,Opera和IE中的PHP会话问题

问题描述:

通过SSL。工作在铬/火狐但示出了用于sessionTestVariable歌剧/ Safari浏览器/ IE为空值:Safari,Opera和IE中的PHP会话问题

<? // https://mydomain.com/setSession.php 
session_cache_limiter('nocache'); 
session_set_cookie_params("899", "/", ".mydomain.com"); 
session_start(); 
unset($_SESSION['sessionTestVariable']); 

// Set sessionTestVariable 
$_SESSION['sessionTestVariable'] = "some string"; 
header("Cache-Control: no-cache, must-revalidate, post-check=3600, pre-check=3600"); // CacheBusting 
header("Location: http://mydomain2.com/testSession.php"); 
exit; // this *should* fix the problem but does not 
?> 

////////////

<? // http://mydomain2.com/testSession.php 
echo "Testing to see if we can trigger the session from mydomain.com"; 
echo "<script type=\"text/javascript\" src=\"https://mydomain.com/triggerCookie.php\">"; 
?> 

///// ///////

<? // https://mydomain.com/triggerCookie.php 
session_cache_limiter('nocache'); 
session_set_cookie_params("899", "/", ".mydomain.com"); 
session_start(); 

// Set sessionTestVariable 
echo "alert('session: " . $_SESSION['sessionTestVariable'] . "');"; 
session_destroy(); 
?> 

我能解决这个问题。答案在于一个名为P3P的协议。

我加

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); 

session_start() 

作品前吧!