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['name']='谭勇';//向session文件里面存放数据 $_SESSION['age']=19;;//向session文件里面存放数据 ?>
下面是index_a.php
<?php session_start();//用户第二次执行session_start()函数 if(isset($_SESSION['name'])){ //判断是否存在sesison,如果是就执行当前括号当中的内容 echo $_SESSION['name']; echo '<br>'; echo $_SESSION['age']; }else{ header("location:index.php");//如果不存在session则跳转到页面index.php } ?>
那麼我們註冊了一個會話之後我們怎麼去刪除這個會話呢?
以下是刪除會話的程式碼
<?php session_start();//开启session if(isset($_SESSION['name'])){ unset($_SESSION['name']);//删除$_SESSION['name']; unset($_SESSION ['age']);//删除$_SESSION['age']; session_destroy();注销会话 }else{ header("location:index.php");//如果不存在session则跳转到页面index.php } //如果你觉得我打的代码对你有帮助,求评论,请注意发言的礼仪,乱说删评论. ?>
相關文章教學推薦:php教學
以上是實例詳解php cookie與session會話基本用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!