2015-10-01 93 views
0

我有一個設置一些會話值的PHP頁面:在一個Ajax調用PHP會話空

session_start(); 
$_SESSION["key"] = "myvalue"; 

的值設置,如果我打開瀏覽器的新選項卡上的我的文件,sessions.php,我見之前設置的值。

<?php 
    if(!session_id()) { // check if we have session_start() called 
     session_start(); 
     echo "<br />session start"; 
    } 

    if (!isset($_SESSION["key"])) { 
     echo "<br />session null"; 
    } else { 
     echo "ok my session" . $_SESSION["key"] ; 
    } 
?> 

如果我從另一個頁面打開同一個文件,通過AJAX在相同的域相同的文件夾中我有空會話。

$.ajax({ 
    type: "POST", 
    url: "/php/sessions.php", 
    cache: false, 
    error: function (XMLHttpRequest, textStatus, errorThrown) {} 
}).done(function(msg) { 
    alert(msg) // I get session null 
}); 

編輯: 我使用PHP-5.6.10-NTS-Win32的VC11-64與IIS

EDIT2: 我意識到,中間頁是由阿賈克斯電話在同一個域中。因此,這是qwhy IMY會議是空

+2

我沒有看到任何東西在裏面,設置'在bcc'關鍵'$ _SESSION'。 –

+0

你正在使用哪個php版本? –

+0

@AjeetKumar PHP版本與此有什麼關係? –

回答

-2

你顯然忘了呼應

session_start(); 
$_SESSION["key"] = "myvalue"; 
echo $_SESSION["key"]; 

所以你的文件有一些輸出阿賈克斯