您好,登錄后才能下訂單哦!
這篇文章主要介紹了PHP中Session和Cookie有哪些區別,具有一定借鑒價值,需要的朋友可以參考下。下面就和我一起來看看吧。
PHP 中 Session 和 Cookie 區別?
1、Cookie數據存放在客戶的瀏覽器中,Session數據存放在服務器中;
2、Session根據瀏覽器進程存在,而Cookie的生存時間可以設置和調整;
3、Session必須借助Cookie。
PHP Session 變量
您在計算機上操作某個應用程序時,您打開它,做些更改,然后關閉它。這很像一次對話(Session)。計算機知道您是誰。它清楚您在何時打開和關閉應用程序。然而,在因特網上問題出現了:由于 HTTP 地址無法保持狀態,Web 服務器并不知道您是誰以及您做了什么。
PHP session 解決了這個問題,它通過在服務器上存儲用戶信息以便隨后使用(比如用戶名稱、購買商品等)。然而,會話信息是臨時的,在用戶離開網站后將被刪除。如果您需要永久存儲信息,可以把數據存儲在數據庫中。
Session 的工作機制是:為每個訪客創建一個唯一的 id (UID),并基于這個 UID 來存儲變量。UID 存儲在 cookie 中,或者通過 URL 進行傳導。
使用示例
<?php// 表單提交后...$posts = $_POST;// 清除一些空白符號foreach ($posts as $key => $value) { $posts[$key] = trim($value);}$password = md5($posts["password"]);$username = $posts["username"]; $query = "SELECT `username` FROM `user` WHERE `password` = '$password' AND `username` = '$username'";// 取得查詢結果$userInfo = $DB->getRow($query); if (!empty($userInfo)) { // 當驗證通過后,啟動 Seindex.html> 驗證 session里的`admin`是否為 `true`<?php// 防止全局變量造成安全隱患$admin = false;// 啟動會話,這步必不可少session_start();// 判斷是否登陸if (isset($_SESSION["admin"]) && $_SESSION["admin"] === true) { echo "您已經成功登陸";} else { // 驗證失敗,將 $_SESSION["admin"] 置為 false $_SESSION["admin"] = false; die("您無權訪問");}?>
以上就是PHP中Session和Cookie有哪些區別的詳細內容了,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎來億速云行業資訊!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。