看板 PHP 關於我們 聯絡資訊
目前是已知道如果用php的setCookie的話若前面有echo字串等等的話會存不起來。 所以就直接用JavaScript的function來存cookie function saveCookie(){} 在要存cooike的時候,就直接echo 出 <script>saveCookie(string);</script> 讓javascript來處理存cookie的動作。 這部分已經OK了 但是問題是此存的資訊是json格式的字串。若直接存{"aaa":"bb"}的話會出錯。 想到的解決方案是直接把此字串做urlencode,到時候php要用的話再做decode。 操作面就正常可以使用了。 但是另外一個問題就來了... cookie再存的時候會在自己encode一次,會導致字串長度大幅變長。 浪費不少資源。 想說有沒有甚麼做法可以再存的時候直接是JSON字串,PHP取的時候又不用做太多加工。 不知道大家對這種有甚麼建議? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.180.49 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1490703416.A.F66.html
MOONRAKER: 不用自己土炮 有配合jquery的cookie套件 03/28 21:54
tentenlee: 會這樣搞是因為 我php端回去讀cookie 然後判斷新的去塞 03/28 22:36
tentenlee: 會把新的資料塞回去cookie裡面 03/28 22:36
MOONRAKER: 你不是說會有json又有encode的問題 jquery cookie就都 03/28 23:49
MOONRAKER: 不會碰到這些問題了 你還要解釋什麼 03/28 23:50
tentenlee: 用urlencode的方式沒問題 現在是encode下去太長 03/29 00:06
tentenlee: 想說有甚麼方法可以處理這段 03/29 00:07
rickysu: 首先 cookie 是放在 header 中, set cookie 前不能有任何 03/30 09:54
rickysu: echo 或是 html 輸出。 03/30 09:55
rickysu: 另外 cookie 請由 server 指定,並且加上 HttpOnly 03/30 09:58
rickysu: 避免 js 可以直接取得 cookie (這會有安全疑慮) 03/30 09:59