当前位置:首页 > PHP教程 > php会话 > 列表

实例详解php cookie与session会话基本用法

发布:smiling 来源: PHP粉丝网  添加日期:2022-05-25 10:58:32 浏览: 评论:0 

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);

使用session的存储方式

session_start());

当用户一次执行到session_start()这个函数时,会产生一个session_id(),这个session_id()会复制一份,一份作为文件名,保存在服务器上,一份作为字符串保存给客户端的session_name()的文件下,当用户第二次执行到sessio_start()的时候用户是带着自己的session_id()多来的,然后当我们需要使用到session的时候,客户端会拿着自己的session_id()在服务器上找与自己手上的session_id()相匹配的session_id(),然后打开文件。

下面是index.php

  1. <?php 
  2.  
  3. session_start();//用户第一次执行session_start()函数 
  4.  
  5. $_SESSION['name']='谭勇';//向session文件里面存放数据 
  6.  
  7. $_SESSION['age']=19;;//向session文件里面存放数据 
  8.  
  9. ?> 

下面是index_a.php

  1. <?php 
  2.  
  3. session_start();//用户第二次执行session_start()函数 
  4.  
  5. if(isset($_SESSION['name'])){  //判断是否存在sesison,如果是就执行当前括号当中的内容 
  6.  
  7. echo $_SESSION['name']; 
  8.  
  9. echo '<br>'
  10.  
  11. echo $_SESSION['age']; 
  12.  
  13. }else
  14.  
  15. header("location:index.php");//如果不存在session则跳转到页面index.php 
  16.  
  17.  
  18. ?> 

那么我们注册了一个会话之后我们怎么去删除这个会话呢?

以下是删除会话的代码:

  1. <?php 
  2.  
  3. session_start();//开启session 
  4.  
  5. if(isset($_SESSION['name'])){ 
  6.  
  7. unset($_SESSION['name']);//删除$_SESSION['name']; 
  8.  
  9. unset($_SESSION ['age']);//删除$_SESSION['age']; 
  10.  
  11. session_destroy();注销会话 
  12.  
  13. }else
  14.  
  15. header("location:index.php");//如果不存在session则跳转到页面index.php 
  16.  
  17.  
  18. //如果你觉得我打的代码对你有帮助,求评论,请注意发言的礼仪,乱说删评论. 
  19.  
  20. ?>

Tags: cookie session

分享到: