首頁  >  文章  >  後端開發  >  實作PHP中session和cookie資料傳值功能

實作PHP中session和cookie資料傳值功能

一个新手
一个新手原創
2017-09-28 09:53:161396瀏覽

1.session  登入上一個頁面以後,長時間沒有操作,刷新頁面以後需要重新登入。

特點:(1)session是儲存在伺服器;

     (2)session每個人(登陸者)存一份;

   (3)session有預設的過期時間;(如果登入的人太多,資料就會太多,由於儲存在伺服器,會對伺服器造成壓力,過一定的時間會清除掉)

   (4)session裡面可以儲存任意類型的數據。

    由上述特點可以總結出session的特點是比較安全。缺點是對伺服器造成一定的壓力。

   (5)當一個頁面需要使用session時,需要在頁面頂部加session_start();要在頁面最上面寫,前面不能出現任何程式碼,程式碼指的是PHP程式碼,可以有HTML程式碼。最好是養成習慣,把1a5bab164d57b9655aeb6a9bd1a954a2寫在頁面的最頂端。一個頁面寫一次就可以。

   (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資料傳值功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn