[英]PHP doesn't see a cookie unless I refresh the page again
我知道這里還有其他類似的問題,但我已經閱讀了答案,但我仍然沒有找到解決問題的方法。
所有這些腳本都在同一頁面search-results
上。
它在數據表中顯示結果,並讓用戶 select 記錄保存到列表中,然后可以打印。 所選記錄的 ID 存儲在records
cookie 中。 我可以看到這有效。
頁面底部有一個鏈接可以觸發這個 JS function:
function resultsPage(){
window.location = "/search-results/?printqueue=true";
}
如您所見,這是同一個頁面,但參數不同。 這告訴頁面顯示他們保存的結果。
在初始加載時使用?printqueue=true
PHP 無法讀取 cookie,即使頁面已刷新。 在 PHP 獲取 cookie 之前,我必須再次刷新(或單擊鏈接)。 為什么?
我得到這樣的cookie數據:
if( $_GET['printqueue'] == 'true' && $_COOKIE['records'] !== 'undefined' ) {
$posts_to_show = explode(',',$_COOKIE['records']);
}
如果這只是因為操作順序,那很酷,那就無所謂了。 但是任何干凈的方法來“雙重刷新”頁面而不添加額外的參數並再次刷新(如果存在)? 我真的很討厭這樣做...
我相信它是因為 $_COOKIE['records'] 尚未設置..
嘗試:
if( $_GET['printqueue'] == 'true' && isset($_COOKIE['records']) ) {
// your code
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.