2010-04-27 94 views
0

因此,此頁面的基礎是在頁面加載時設置會話值,並在訪問的任何其他頁面上清除它。然後該頁面可以進行ajax調用來下載文件。如果會話值與我通過URL傳遞的值匹配,則允許他們下載文件。如果沒有,我會返回一個404錯誤。我有一些奇怪的問題,所以我刪除了404並將其設置爲回顯值,而不是看我得到了什麼。這裏是代碼的頁面的頂部:PHP和會話的奇怪問題

$code = $this->_request->getParam('code'); 
    $confirm = $_SESSION['mp3_code']; 
    echo $code."-1-".$confirm; 
    if($code != $confirm) 
     echo $code."-2-".$confirm;//header("HTTP/1.1 404 Not Found"); 
    else 
    { 

這裏是網頁上的內容顯示來自AJAX調用 12723430-1-12723430-2-

正如你可以看到它的時候了回聲他們第一次存在,然後在我比較它們之後不知何故,你會發現它會回覆出空白值,就像它們突然不存在一樣。有任何想法嗎?

回答

2

您必須確保使用會話在任何腳本的頂部調用session_start。我認爲這可能就是這種情況。

在您的代碼中,它回顯了$code$confirm。但$confirm是一個空字符串,因爲您實際上沒有檢索會話數據(爲什麼尚未確定),條件將大部分時間評估爲TRUE。