2015-09-15 20 views
1

有一個頁面,可以用三個參數之一來訪問:ref1,ref2和ref3。每次頁面腳本都會設置一些cookie來存儲ref-param和它的創建時間。之後,它應該找到最新的,並準備好處理它。 例如,如果我有「REF1」曲奇作爲最新的訪問頁面之前,參觀如何獲得最新的Cookie ID而無需額外的頁面重新加載?

script.php?ref2=1 

應該呼應

latest is ref2 

但它只有在附加重裝工作正常(回聲右最新的cookie)頁。這段代碼有什麼問題?

if ($_GET['ref1']) { 
    setcookie('ref1', 'ref1'); 
    setcookie('ref1_dt', time()); 
} 

if ($_GET['ref2']) { 
    setcookie('ref2', 'ref2'); 
    setcookie('ref2_dt', time()); 
} 

if ($_GET['ref3']) { 
    setcookie('ref3', 'ref3'); 
    setcookie('ref3_dt', time()); 
} 

function getLatestCookie() { 
    $refs = array(
     'ref1' => $_COOKIE['ref1_dt'], 
     'ref2' => $_COOKIE['ref2_dt'], 
     'ref3' => $_COOKIE['ref3_dt'] 
    ); 
    $maxs = array_keys($refs, max($refs)); 
    return $maxs[0]; 
} 

$latest = getLatestCookie(); 
setcookie('latest', $latest, time() + 60 * 60 * 24 * 30, "/"); 
echo "latest is " . $latest; 

回答

0

像往常一樣,閱讀文檔是足夠好的。 下一頁加載後,$ _COOKIE數組中可以使用Cookie。所以在我的情況下,如果它存在,我應該將$ new分配給GET-param值,否則將其分配給getLatestCookie()。

相關問題