当前位置: 首页 > 图文教程 > 网络编程 > PHP > 实例讲解session的使用方法

PHP
让我们来编写一些PHP实用的脚本
七种缓存使用武器 为网站应用和访问加速
动态网页PHP中引用&的使用注意事项
在PHP中全面阻止SQL注入式攻击
PHP自带可以代替echo调试的unit函数
小结:PHP动态网页程序优化及高效提速问题
php对特殊语句查询结果进行数组排序
实例:用PHP技术解决网站URL格式过长的问题
小结:PHP动态网页程序两个有用的小技巧
动态网页中直接不让访问PHP程序文件
网页实例:详细介绍用PHP来编写网页记数器
菜鸟学习:动态网页PHP基础学习笔记
利用Apache实现禁止图片盗链
PHP编程中常用的三则技巧
PHP制作的网站意见在线反馈表
大型Web需求解决方案 PHP定位突出
PHP实例:精确到每一秒钟的在线人数显示代码
实用:动态网页制作技术PHP的十个应用技巧
常见php页面漏洞分析及相关问题解决
PHP和MYSQL制作动态网站开发经验之谈

PHP 中的 实例讲解session的使用方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 26 ::
收藏到网摘: n/a

   PHP会话即SESSION是指用户从进入网站到关闭网站这段时间内活动的一种机制,它提供了所有网页都共同使用的公共变量存贮机制。那么SESSION到底有什么用处呢?网上购物时大家都用过购物车,你可以随时把你选购的商品加入到购物车中,最后再去收银台结帐。在整个过程中购物车一直扮演着临时存贮被选商品的角色,用它追踪用户在网站上的活动情况,这就是SESSION的作用。
    SESSION的发明填补了HTTP协议的局限,HTTP协议被认为是无状态协议,当它在服务端完成响应之后,服务器就失去了与该浏览器的联系。会话的发明使得一个用户在多个页面间切换时能够保存他的信息。
    在PHP3版本未直接提供session功能,我们只能用其它办法来实现,比如用PHPLIB。如果说PHP4与PHP3相比,它最大的进步就是提供了SESSION。
Session基础知识
    要使用session需要PHP4.1以上的版本,而且需要把php.ini中的register_globle=Off设成register_globle=On。另外,session.cookie_path = / 这行不易更改。

来站编辑注明:这篇文章很明显有点老了,不过,下面说的还很不错,在register_globle=Off的时候,也一样可以用,而且,下面的session_register也可以不用了,直接用$_SESSION[xxx]="xxxxxxx";$HTTP_SESSION_VARS这个变量也不用了。
    PHP中的session默认情况下是使用客户端的Cookie。当客户端的Cookie被禁用时,会自动通过Query_String来传递。

    Php处理会话的函数一共有11个,我们详细介绍一下将要用到几个函数。
    1、 session_start
    函数功能:开始一个会话或者返回已经存在的会话。
    函数原型:boolean session_start(void);
    返回值:布尔值
    功能说明:这个函数没有参数,且返回值均为true。最好将这个函数置于最先,而且在它之前不能有任何输出,否则会报警,如:Warning: Cannot send session cache limiter - headers already sent (output started at /usr/local/apache/htdocs/cga/member/1.php:2) in /usr/local/apache/htdocs/cga/member/1.php on line 3
    2、 session_register
    函数功能:登记一个新的变量为会话变量
    函数原型:boolean session_register(string name);
    返回值:布尔值。
    功能说明:这个函数是在全局变量中增加一个变量到当前的SESSION中,参数name就是想要加入的变量名,成功则返回逻辑值true。可以用$_SESSION[name]或$HTTP_SESSION_VARS[name]的形式来取值或赋值。
    3、 session_is_registered
    函数功能:检查变量是否被登记为会话变量。
    函数原型:boobean session_is_registered(string name);
    返回值:布尔值
    功能说明:这个函数可检查当前的session之中是否已有指定的变量注册,参数name就是要检查的变量名。成功则返回逻辑值true。
    4、 session_unregister
    函数功能:删除已注册的变量。
    函数原型:boolean session_session_unregister(string name);
    返回值:布尔值
    功能说明:这个函数在当前的session之中删除全局变量中的变量。参数name就是欲删除的变量名,成功则返回true.
    5、 Session_destroy
    函数功能:结束当前的会话,并清空会话中的所有资源。
    函数原型:boolean session destroy(void);
    返回值:布尔值。
    功能说明:这个函数结束当前的session,此函数没有参数,且返回值均为true

    上面介绍函数下文将会用到,但还有一些有关session的函数也介绍一下:
    6、 session_encode
    函数功能:sesssion信息编码
    函数原型:string session_encode(void);
    返回值:字符串
    功能说明:返回的字符串中包含全局变量中各变量的名称与值,形式如:a|s:12:"it is a test";c|s:4:"lala"; a是变量名 s:12代表变量a的值"it is a test的长度是12 变量间用分号”;”分隔。
    7、 session_decode
    函数功能:sesssion信息解码
    函数原型:boolean session_decode (string data)
    返回值