[英]Using cookies to pass URL param string
我有一個包含“!”的URL。 在查詢參數的值中。 我對cookie中的param字符串進行編碼並加載相關頁面。 從PHP:
foreach ( $_GET as $key => $value ){
setcookie($key,$value,time()+60,'/');
}
在相關頁面中,cookie的值(通過javascript / jquery $ .cookie(“”)讀取)具有“!” 編碼為%21。
有人可以告訴我為什么嗎! 被編碼了嗎? 它不是cookie值中的有效字符嗎?
有兩個地方可以對數據進行編碼。 第一種是從$_GET
數組中獲取時,可以對$value
進行編碼,並可以通過使用rawurldecode()
對其進行解碼。 可能發生的第二個地方是使用setcookie()
; 為了避免這種情況,請改用setrawcookie()
,它將設置原始cookie而不是編碼的cookie。
foreach ( $_GET as $key => $value ){
setrawcookie($key, rawurldecode($value), time() + 60, '/');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.