1.session 登入上一個頁面以後,長時間沒有操作,重新整理頁面以後需要重新登入。
特點:(1)session是儲存在伺服器;
(2)session每個人(登陸者)存一份;
(3)session有預設的到期時間;(如果登入的人過多,資料就會太多,由於儲存在伺服器,會給伺服器造成壓力,過一定的時間會清除掉)
(4)session裡面可以儲存任意類型的資料。
由以上特點可以總結出session的特點是比較安全。缺點是對伺服器造成一定的壓力。
(5)當一個頁面需要使用session時,需要在頁面頂部加session_start();要在頁面最上面寫,前面不能出現任何代碼,代碼指的是PHP代碼,可以有HTML代碼。最好是養成習慣,把<?php session_start(); ?>寫在頁面的最頂部。一個頁面寫一次就可以。
(6)操作session。a.賦值。b.取值。
賦值:
<?php session_start();//session開始標籤,在最頂部寫。?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>無標題文檔</title></head><body><?php $_SESSION["uid"] = "zhangsan";//給$_SESSION["uid"]賦值。?></body></html>
取值:
取值可以在任意頁面取值,比如說做登入頁面時,可以把登入名稱、密碼名等資訊賦值給 $_SESSION["uid"],在同一個瀏覽器上的其它頁面也可以取到登入名稱、密碼名等的值,前提是賦值的頁面要先開啟過,如果直接開啟其它頁面取值,將無法取到。再就是關閉瀏覽器以後再開啟,也要先開啟賦值頁面,其它頁面才能取到值。
<?php session_start();?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>無標題文檔</title></head><body><?php echo $_SESSION["uid"]?></body></html>
2.cookie
特點:(1)cookie儲存在用戶端,瀏覽器在清除瀏覽資訊時會有cookie清除選項。
(2)cookie每人存一份。
(3)cookie沒有預設到期時間。
(4)只能儲存字串。
由以上特點可以總結出cookie的特點是不安全,不會對伺服器造成壓力。
沒有特殊要求的話session和cookie都可以使用,但是當涉及到安全性較高時,要選擇session。