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 

时间: 2024-10-27 03:38:10

php中session的应用的相关文章

asp.net中session的原理及应用

Session简介丶特性 1.Session是一种Web会话中的常用状态之一. 2.Session提供了一种把信息保存在服务器内存中的方式.他能储存任何数据类型,包含自定义对象. 3.每个客户端的Seesion是独立存储的. 4.在整个会话过程中,只要SessionID的cookie不丢失,都会保存Session信息的. 5.Session不能跨进程访问,只能由该会话的用户访问.应为提取Session数据的id标识是以Cookie的方式保存到访问者浏览器的缓存里的. 6.当会话终止,或过期时,服

ASP.NET中Session的sessionState 4种mode模式

1. sessionState的4种mode模式 在ASP.NET中Session的sessionState的4中mode模式:Off.InProc.StateServer及SqlServer. 2. Off模式 <sessionState mode="Off"></sessionState> 关闭模式,即不需要使用Session. 单个页面关闭Session: <%@ Page EnableSessionState="false" %

Hibernate中Session的get和load

hibernate中Session接口提供的get()和load()方法都是用来获取一个实体对象,在使用方式和查询性能上有一些区别.测试版本:hibernate 4.2.0. get Session接口提供了4个重载的get方法,分别通过“持久类+主键”和“全类名+主键”以及“锁选项”来获取实体对象. public Object get(Class clazz, Serializable id); public Object get(Class clazz, Serializable id, L

jsp中session的使用

Session的典型应用: 防止用户非法登录到某个页面. 网上商城的购物车 保存用户登录信息 注:多个请求要用的东西放在session中,多个会话之间要用的东西放在上下文中. 如何创建session? Servelt API 中有HttpSession接口,来封装session对象.用HttpServletRequest来获取会话对象. HttpSession  session=request.getSession(); 主要方法:1. getAttribute( String name )获取

hibernate中session的获取使用以及其他注意事项

hibernate中session的获取使用以及其他注意事项 前言:工作时,在同时使用Hibernate的getSession().getHibernateTemplate()获取Session后进行数据查询时不是出现了"session is close"异常就是出现其他异常问题,痛定思痛,决定收集并整理相关资料,方便今后的使用. 一.session的获取 在hibernate中的Session对象通过SessionFactory来管理,可以通过使用openSession ().get

NHibernate中Session与ASP.NET MVC中Action的综合使用

NHibernate的基本特征是完成面向对象的程序设计语言到关系数据库的映射,在NHibernate中使用持久化对象PO(Persistent Object)完成持久化操作,对PO的操作必须在Session管理下才能同步到数据库, 但是这里的Session并非指HttpSession,可以理解为基于ADO.NET的Connnection,Session是NHibernate运作的中心,对象的生命周期.事务的管理.数据库的存取都与Session息息相关,首先,我们需要知道, SessionFact

Hibernate中Session与本地线程绑定

------------------siwuxie095 Hibernate 中 Session 与本地线程绑定 1.Session 类似于 JDBC 的连接 Connection 2.Session 对象是单线程对象,只能自己使用,不能共用 将 Session 与本地线程绑定,保证 Session 对象绝对是一个单线程对象 3.Hibernate 帮助我们实现了 Session 与本地线程绑定(底层是 ThreadLocal) 4.获取与本地线程绑定的 Session (1)在 Hiberna

php中session的理解

一.Session是什么 Session一般译作会话,牛津词典对其的解释是进行某活动连续的一段时间.从不同的层面看待session,它有着类似但不完全同样的含义.比方,在web应用的用户看来,他打开浏览器訪问一个电子商务站点,登录.并完毕购物直到关闭浏览器,这是一个会话. 而在web应用的开发人员开来.用户登录时须要创建一个数据结构以存储用户的登录信息.这个结构也叫做session. 因此在谈论session的时候要注意上下文环境. 二.Session因何而来? 我们知道http协议是WEBse

Tomcat中session详解(源码阅读)

Tomcat中的session是通过一个manager来管理的,其中Session接口默认实现类有StandardSession,管理器的默认实现是StandardManager. 我们平时在servlet中使用的session也就是HashMap中的一个session对象,同时session除了在内存存储,同时还提供了持久化方法,tomcat中持久化有两种,一种是保存为文件,另一种则是保存到数据库. 这一节首先来看一下默认的StandardSession和StandardManager. pu

关于 PHP 中 Session 的几个问题

什么是 Session 在 web 应用开发中,Session 被称为会话.主要被用于保存某个访问者的数据.由于 HTTP 无状态的特点,服务端是不会记住客户端的,对服务端来说,每一个请求都是全新的.既然如此,那么服务端怎么知道是哪个访问者在请求它呢?又如何将不同的数据对应上正确的访问者?答案是,给访问者一个唯一获取 Session 中数据的身份标示. 打个比方:当我们去超市购物时,被保安告之我们是不能带物品进去的,必须将物品寄放在超市的储物箱中.我们把物品交给了他,他怎么知道这些物品谁是谁的,