1. 程式人生 > >cookie,session,localStorage之間的聯絡與區別

cookie,session,localStorage之間的聯絡與區別

1、cookie用來儲存使用者相關資料,儲存的位置在使用者本地:
php:
setcookie("key","value","time");
讀取cookie:$_COOKIE
刪除cookie:setcookie讓時間過期;
JS:
設定cookie(js中存放位置document.cookie):
JS中讀取出來的cookie是:document.cookie="username=admin; expires='GMT時間'; password=admin";
function setCookie(ckey,cvalue,exdays)
{
var d = new Date();
d.setTime(d.getTime()+(exdays*24*60*60*1000));
var expires = "expires="+d.toGMTString();
document.cookie = ckey + "=" + cvalue + "; " + expires;
}
讀取cookie
//runoob寫的內容:
function getCookie(cname)
{
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) 
  {
  var c = ca[i].trim();
  if (c.indexOf(name)==0) 
return c.substring(name.length,c.length);
  }
return "";
}
//從str1中擷取defg:
var str1="abcdefg";
str1.length=7;
str1.substring(3,7) == "defg";




//我寫的:
funciton getCookieByKey(key){
key = key + "=";
var cookie = document.cookie.split(";");
for(var i=0;i<cookie.length;i++){
var value = cookie[i].trim();//.trim()去空格
if(value.indexOf(key)==0){
var val=value.split("=");
return val[1];
}
}
        return "";
}
刪除cookie:將cookie的有效期設定為過期的時間就可以。
2、session:session是用來在伺服器端儲存使用者資訊,當瀏覽器關閉的時候,會自動銷燬;
session_start();
超級陣列$_SESSION可以實現session的設定與讀取;
3、JS端的localStorage:HTML5提供的本地儲存方式(可以稱為“鍵值對”資料庫);
設定資料:localStorage.setItem("key","value");
讀取資料:localStorage.getItem("key");讀取的結果是一個字串;
刪除資料:localStorage.removeItem("key");