1. 程式人生 > >PHP中的會話控制—session和cookie(實現數據傳值功能)

PHP中的會話控制—session和cookie(實現數據傳值功能)

代碼 會有 數據 xmlns code 特點 會話控制 pre color

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。

PHP中的會話控制—session和cookie(實現數據傳值功能)