請教一下setcookie的用法

來源:互聯網
上載者:User
如果我想讓COOKIES永久儲存
如何通過setcookie來實現 是給expire一個很大的值嗎?
還有 如果想儲存1個月 就是按30天算 60*60*24*30 還是有什麼精確的計算方法?


回複討論(解決方案)

cookie不能永久儲存
至於你說的精確的方法不知道是指什嗎?

我的意思是
網上那些程式設定儲存一個月的時候
只是粗略地用60*60*24*30 這樣表達30天
還是會根據每個月份有幾天 來計算
不過我估計是直接按30天算了
呵呵

暈。何必計較這麼多。。。。

暈。何必計較這麼多。。。。
cookie是儲存在用戶端的,使用者清理緩衝時,都清掉了。
計較這麼多,不嫌累麼!

暈。何必計較這麼多。。。。
cookie是儲存在用戶端的,使用者清理緩衝時,都清掉了。
計較這麼多,不嫌累麼!
不是計較
剛學習PHP
所以來問問 呵呵

這個答案就是

你喜歡..

總之cookie是不能永久儲存的,存東西,你要把資料存到資料庫裡。
cookie 你就存該使用者資訊的ID即可,需要時,到資料庫裡取。
方便,而且不產生漏洞。
還有存cookie,
重要的資料必須加密

60*60*24*30 是一個運算式,最終傳入的參數是 2592000
這麼寫主要是便於閱讀,一小時3600秒,一天24小時,一個月30天。
至於你說的如果考慮每月實際天數的話,就有點麻煩了,你可以搜尋一下. PHP擷取每月實際天數

bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )

expire Cookie 到期的時間。這是個 Unix 時間戳記,即從 Unix 紀元開始的秒數。換而言之,通常用 time() 函數再加上秒數來設定 cookie 的失效期。或者用 mktime()來實現。 time()+60*60*24*30 將設定 cookie 30 天后失效。如果未設定,cookie 將會在會話結束後(一般是瀏覽器關閉)失效

這是在執行一次 setcookie 後的情況,如果使用者每次訪問時都執行一次的話,不就永久了嗎?

60*60*24*30 是一個運算式,最終傳入的參數是 2592000
這麼寫主要是便於閱讀,一小時3600秒,一天24小時,一個月30天。
至於你說的如果考慮每月實際天數的話,就有點麻煩了,你可以搜尋一下.PHP擷取每月實際天數
我也覺得 還是30天來的方便

bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )

expire Cookie 到期的時間。這是個 Unix 時間戳記,即從 Unix 紀元開始的秒數。換而言之,通常用 time() 函數再加上秒數來設定 cookie ……

如果cookies用來儲存登陸資訊的
每次都設定setcookie 那不是得登陸了才能設定麼 相當於沒COOKIES

你為什麼一定要在登入後才寫 cookie 呢?
為什麼不可以在驗證登入資訊有效時也寫 cookie 呢?

可以計算出每個月或者當前月的天數,當然了一般都是設定一個固定的天數,例如把一個月當成28或者30天,不然的話,你在27號設定儲存一個月,難道28好就失效嗎,顯然是不成立的,所以你只需要將其設定成固定的30天就行了,而永久有效話簡單的cookie是不行的,除非用其它的方式,如資料庫標識等等

function setCookies(name,value){var name = "xifashui";   var Days = 30; //此 cookie 將被儲存 30 天   exp.setTime(exp.getTime() + Days*24*60*60*1000);   document.cookie = name +"="+ escape(value) +";expires="+exp.toGMTString();alert("放入成功")}function getCookies(name){   var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));   if(arr != null)alert(unescape(arr[2]));} 
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.