php header 之 Set-Cookie

來源:互聯網
上載者:User

php設定cookie可以使用setcookie函數或header函數。使用header方式時候需要注意字串的順序,如果順序不對,可能會出現意想不到的問題。正確的順序為

name=value; [expires=date; [path=path]; [domain=domainname]; [secure]]

例如:在netingcn.com下設定一個名為cookiename,值為cookieValue,到期時間為一年的cookie

header("Set-Cookie: cookiename=cookieValue; expires=" . gmstrftime("%A, %d-%b-%Y %H:%M:%S GMT", time() + (86400 * 365)) .  '; path=/; domain=netingcn.com');

如果把domain、path放到expires前面,在firefox通過httpfox查看時,發現到期時間是“End Of Session”,但退出瀏覽器後重新開啟,發現該cookie還是存在的,chrome顯示的也是類似。雖說瀏覽器最終還是設定了一個一年到期的cookie,不過domain資訊為當前頁面的完整域,不是設定的頂級域。所以一定要注意順序。

另外,如果用header的方式設定多個cookie,需要設定header的第二個參數為FALSE,下面是header函數的聲明:

void header ( string string [, bool replace [, int http_response_code]] )

第二個參數replace 指明是替換掉前一條類似的標題還是增加一條相同類型的標題。預設為替換,但如果將其設為 FALSE 則可以強制發送多個同類標題。


http://www.netingcn.com/php-header-set-cookie.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.