91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

COOKIE與SESSION有什么不同

發布時間:2021-01-05 15:55:53 來源:億速云 閱讀:136 作者:Leah 欄目:開發技術

COOKIE與SESSION有什么不同?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

一、cookie介紹

cookie 常用于識別用戶。cookie 是服務器留在用戶計算機中的小文件。每當相同的計算機通過瀏覽器請求頁面時,它同時會發送 cookie。通過 PHP,您能夠創建并取回 cookie 的值。

1、設置Cookie

PHP用SetCookie函數來設置Cookie。

SetCookie函數定義了一個Cookie,并且把它附加在HTTP頭的后面,SetCookie函數的原型如下:
int SetCookie(string name, string value, int expire, string path, string domain, int secure);

參數說明:cookie名稱,cookie值,過期時間(int),有效路徑,有限域名,https傳遞才有效

注意:當前設置的Cookie不是立即生效的,而是要等到下一個頁面時才能看到.這是由于在設置的這個頁面里Cookie由服務器傳遞給客戶瀏覽器,在下一個頁面瀏覽器才能把Cookie從客戶的機器里取出傳回服務器的原因。

使用例子:

普通使用:

setcookie('name','PHP淮北');

帶失效時間的:
setcookie('name','PHP淮北',time()+24*60*60);//1day

Cookie是面向路徑的 ,默認存儲在當前文件下,如果沒有設置路徑,不同文件下的cookie默認保存在不同文件夾下,如圖:默認保存在mytest文件夾下

2、接收和處理Cookie

用戶端與服務端的web通信協議是http。而PHP通過http取得用戶數據慣用的三種方法分別是:POST方法、GET方法還有Cookie。而PHP默認傳遞方法正是Cookie,也是最佳方法。

比如設置一個名為MyCookier的Cookie,PHP會自動從WEB服務器接收的HTTP頭里把它分析出來,并形成一個與普通變量一樣的變量,名為$myCookie,這個變量的值就是Cookie的值

3,刪除Cookie

要刪除一個已經存在的Cookie,有兩個辦法:

一是調用只帶有name參數的SetCookie,那么名為這個name的Cookie將被從關系戶機上刪掉;例如:setcookie('name','');
另一個辦法是設置Cookie的失效時間為time()或time()-1,那么這個Cookie在這個頁面的瀏覽完之后就被刪除了(其實是失效了)。 例如:setcookie('name','PHP淮北',time()-24*60*60);
要注意的是,當一個Cookie被刪除時,它的值在當前頁在仍然有效的。
使用Cookie的注意事項:

首先是必須在HTML文件的內容輸出之前設置(Cookie是HTTP協議頭的一部分,用于瀏覽器和服務器之間傳遞信息,所以必須在任何屬于HTML文件本身的內容輸出之前調用Cookie函數。
在PHP頁面可以先使用

ob_start();//開啟

code…..

ob_end_flush(); //刷新緩存

可以防止header提示錯誤);

不同的瀏覽器對Cookie的處理機制不一樣
cookie限制是在客戶端的。一個瀏覽器能創建的Cookie數量最多為30個,并且每個不能超過4KB,每個WEB站點能設置的Cookie總數不能超過20個。
當前設置的Cookie不是立即生效的,而是要等到下一個頁面時才能看到

二、session介紹

session機制是一種服務器端的機制,服務器使用一種類似于散列表的結構(也可能就是使用散列表)來保存信息,每一個網站訪客都會被分配給一個唯一的標志符,即會話ID,它的存放形式無非兩種:要么經過url傳遞,要么保存在客戶端的Cookies里.當然,你也可以將Session保存到數據庫里,這樣會更安全,但效率方面會有所下降.url方式傳遞安全性肯定太差,PHP的會話機制是通過設置Cookie,在Cookie中保存會話id(Session ID),在服務器端會生成session文件,與用戶進行關聯,Web應用程序存儲與這些Session相關的數據,并在各頁面間進行傳遞.

PHP相關函數

在PHP中有關Session的函數比較多,不過我們最常用到的也就這么幾個函數:

session_start():啟用session機制,在需要用到session的程序文件的最開始調用它.

session_register():注冊session變量

session_unregister(): 刪除session變量(一個一個刪除)

session_is_registered(): 判斷session變量是否注冊

session_distroy(): 銷毀所有session變量(所有session變量銷毀,包括文件)

需要注意下面幾個方面:

1.函數session_start()必須在程序最開始執行,在其前面不能有任何輸出內容,否則

就會出現“Warning:Cannot send session cookie - headers already

sent"類似這樣的警告信息.

2.函數session_register()用于注冊要保存在session中的相關變量,其用法如下:

<?php
 
$val = "session value";
 
session_register("val");
 
?>

val即為要注冊的session變量名,在注冊時一定不要加上"$"符號,只寫其變量名稱即可.

3.函數session_unregister()與上面函數用法完全相同,但功能相反,上面函數是注冊

session變量,而其則是刪除指定的session變量.

4.函數session_is_registered()用于判斷session變量是否注冊.

5.函數session_destroy()主要用于在系統注銷和退出時,銷毀所有的session變量,它沒有參數,直接調用即可。

Session與PHP.ini的關系配置

1,session.save_handler = file

用于讀取/回寫session數據的方式,默認是files。它會讓PHP的session管理函數使用指定的文本文件存儲session數據

2,session.save_path = “/xammp/temp/”

指定保存session文件的目錄,可以指定到別的目錄,但是指定目錄必須要有httpd守護進程屬主(比如apache或www等)寫權限,否則無法回存session數據。它還可以寫成這樣session.save_path = “N;/path” 其中N是整數。這樣使得不是所有的session文件都保存在同一個目錄中,而是分散在不同目錄。這對于服務器處理大量session文件是很有幫助的。(注:目錄需要自己手工創建)

3,session.auto_start = 0

如果啟用該選項,用戶的每次請求都會初始化session。不推薦使用,最好通過session_start()顯示地初始化session。

關于COOKIE與SESSION有什么不同問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台南县| 济源市| 肃宁县| 富源县| 汝阳县| 德格县| 堆龙德庆县| 三原县| 舞钢市| 龙泉市| 明星| 西和县| 兴山县| 上栗县| 通道| 罗源县| 临澧县| 本溪| 满洲里市| 保山市| 乌恰县| 鲁山县| 紫金县| 大埔区| 鄱阳县| 泰安市| 桑日县| 和田县| 铁岭市| 肃宁县| 赤峰市| 湟源县| 扎囊县| 安福县| 五台县| 定州市| 盐津县| 武城县| 崇文区| 南充市| 虹口区|