首頁 >後端開發 >php教程 >實例詳解php cookie與session會話基本用法

實例詳解php cookie與session會話基本用法

王林
王林轉載
2020-01-21 19:49:012643瀏覽

實例詳解php cookie與session會話基本用法

cookie是Web伺服器傳送給瀏覽器的一塊資訊。瀏覽器會在本機檔案中儲存為每個Web伺服器cookie。以後瀏覽器在給特定的Web伺服器發送請求的時候,同時會發送所有為該伺服器儲存的cookie。

session是另一個記錄客戶狀態的機制。不同的是cookie保存在客戶端瀏覽器中,而session則保存在伺服器上。當客戶端瀏覽器存取伺服器的時候,伺服器把客戶端資訊以某種形式記錄在伺服器上,這就是session。客戶端瀏覽器再次造訪時只需要從該session中尋找該客戶的狀態就可以了。

cookie即是傳統的會話控制,由於要儲存的資訊是保存在客戶端的,所以安全係數較低,而session會話控制是將要儲存的資訊保存在伺服器上的,所以相對於cookie安全係數較高.

不論是在使用cookie方式儲存,還是session方式儲存在使用儲存的函數之前都不能有輸出語句,否則會產生一個e級錯誤。

使用cookie的儲存的方式

setcookie('cookie_name','cookie_value',cookie_time);

(免費影片教學推薦:php影片教學

使用session的儲存方式

session_start());

當使用者一次執行到session_start()這個函數時,會產生一個session_id(),這個session_id()會複製一份,一份作為文件名,保存在伺服器上,一份作為字串保存給客戶端的session_name()的文件下,當用戶第二次執行到sessio_start()的時候用戶是帶著自己的session_id()多來的,然後當我們需要使用到session的時候,客戶端會拿著自己的session_id()在伺服器上找與自己手上的session_id()相符的session_id(),然後開啟檔案。

下面是index.php

<?php
session_start();//用户第一次执行session_start()函数
$_SESSION[&#39;name&#39;]=&#39;谭勇&#39;;//向session文件里面存放数据
$_SESSION[&#39;age&#39;]=19;;//向session文件里面存放数据
?>

下面是index_a.php

<?php
session_start();//用户第二次执行session_start()函数
if(isset($_SESSION[&#39;name&#39;])){  //判断是否存在sesison,如果是就执行当前括号当中的内容
echo $_SESSION[&#39;name&#39;];
echo &#39;<br>&#39;;
echo $_SESSION[&#39;age&#39;];
}else{
header("location:index.php");//如果不存在session则跳转到页面index.php
}
?>

那麼我們註冊了一個會話之後我們怎麼去刪除這個會話呢?

以下是刪除會話的程式碼

<?php
session_start();//开启session
if(isset($_SESSION[&#39;name&#39;])){
unset($_SESSION[&#39;name&#39;]);//删除$_SESSION[&#39;name&#39;];
unset($_SESSION [&#39;age&#39;]);//删除$_SESSION[&#39;age&#39;];
session_destroy();注销会话
}else{
header("location:index.php");//如果不存在session则跳转到页面index.php
}
//如果你觉得我打的代码对你有帮助,求评论,请注意发言的礼仪,乱说删评论.
?>

相關文章教學推薦:php教學

以上是實例詳解php cookie與session會話基本用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:jb51.net。如有侵權,請聯絡admin@php.cn刪除