0
我在URL中傳遞一個變量,例如:www.example.com/mypage?gp=32442 注意:這是一個WordPress網站。會話變量不會傳遞到下一頁
gp變量保存後,我將它與當前頁面ID進行比較,如果它們相等,我將cookie和會話設置爲只重定向到同一頁面,而不使用「?gp = 32442 「字符串在最後。
餅乾工作正常,但我還添加了會話變量,以防有人被禁用Cookie。
當我禁用cookie測試時,會話變量在重定向後爲空。我測試沒有重定向和會話變量被正確添加。
如何在重定向後保持會話變量?
session_start();
if(isset($_GET["gp"])){
$url_post_id = $_GET["gp"];
}
$current_id = get_the_ID();
// $pageURL is the url without the "?gp=32442" at the end
if($current_id == $url_post_id){
setcookie("gpcid", $url_post_id, time() + (60 * 60 * 24 * 14));
$_SESSION['gpsid'] = $url_post_id;
header('Location: '.$pageURL.'');
}
if($_COOKIE["gpcid"] == $current_id || $_SESSION['gpsid'] == $current_id ){
the_content();
} else {.......}
所以我想有傳遞變量,如果禁用cookie,我不想通過URL來傳遞它沒有別的辦法? – Lox
你可以用一個隱藏的輸入元素的表單,但是如果用戶檢查頁面源代碼可以很容易地看到你設置了什麼變量 –
其他方式,但取決於你想要做什麼,你可以存儲你的價值在數據庫中,重定向客戶端到一個url,在這裏你用最後一個插入id設置一個查詢字符串,在第二個頁面中,你得到這個id,在db中搜索......這只是一個例子。取決於你想要做什麼。 –