php中session的应用

一、什么是session

  session和cookie功能类似,都是为了维持会话,也就是记住客户端用户的信息。

二、session的特点

  1.session保存的用户信息保存在服务器端而不是客户端浏览器上。

  2.session仍然需要在客户端留下一个唯一标记sessionID,用户的信息保存在服务器。有两种方式基于cookie或URL

三、基于cookie的session的使用

  1.session的配置

    注册session_start();     --->   基于cookie的session需要在脚本的开头即在HTML之前

      session_start();   --->  开启session后,当用户第一次访问网站时,服务器会默认向浏览器发送一个名为sessionid的cookie信息

                   即向浏览器发送cookie的步骤已经被省略了

  2.在脚本中使用session的值:  首先开启session_start();  之后便可以在其他脚本中定义或使用session值

      session_start();  

      $name = $_SESSION[‘name‘];

      $_SESSION[‘age‘] = 20;

      echo $_SESSION[‘fuck‘];

  3.注销session

//开启session
session_start();

//删除浏览器上保留的sessionID
if (isset($_COOKIE[session_name()])){    
       setcookie(session_name(),‘‘,time()-3600,‘/‘);  
{

//清空全局session变量
$_SESSION = array();

//清除服务器上保留的该session文件
session_destroy();

四、基于URL的session的使用

  1.开启session

    session_url();

    session_start();

  2.由于sessionID是通过URL传递的,所以在网页所有的需要用户信息的链接后面都要加上   ?sid=<?php echo session_id(); ?>

  3.删除session信息,只需删除服务器端的即可

五、设置session的自动选择基于cookie还是基于URL

  1.在Apache中找到配置  session.use_trans_sid = 1      //判断浏览器是否开启cookie,若没有则给脚本中所有的连接或表单提交自动加上带有session_id()的后缀

  2.使用时开启session_start();

  3.在脚本中若有输出成javascript连接的形式,则不能跳转,需要在链接后加SID 

   

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。