热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php中session学习笔记

Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。从上述的定义中我

Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。

使用PHP应用session时,将session中的数据存储在服务器上,然后通过客户端传来的sessionID识别客户端的信息,并提取信息。

自己的一个实例,代码如下:

  1. session_start();//启动会话session,在session必须启动 
  2. $_SESSION['name']=”fangshan”;//设置session,name的值为fangshan 
  3. ?> 
  4. next 
  5. (以上另存为session.php) 
  6. session_start();//启动会话 
  7. if(isset($_SESSION['name']))//判断是否存在 
  8.  echo $_SESSION['name']; 
  9.  echo “del session”; 
  10. else 
  11.  echo “Session has not been setted”; 
  12. ?> 
  13. (以上另存为session2.php) 
  14. session_start();//启动session 
  15. unset($_SESSION['name']);//注销session变量 
  16. session_destroy();//清除session ID 
  17. header(“Location:session2.php”);//跳转回前面页面 
  18. ?> 
  19. (以上另存为deletesession.php) 

session的常用操作:

session的写入、读取、注册与删除。

session的开始

标记session使用开始的函数是session_start,session_start函数用于初始化session变量,语法如下:session_start();返回值为TRUE。

session的写入和读取

在PHP中,session的使用是通过预定义数组$_SESSION的调用和读取来完成。

在网站的页面中,在注册页面对$_SESSION数组进行赋值,在其他的页面中对$_SESSION数组进行读取。

注册页面中的session,例如如下代码:

  1. session_start(); 
  2. $_SESSION['keyword']= "php"
  3. ?> 

其他页面中的session,例如如下代码:

  1. session_start(); 
  2. echo $_SESSION['keyword']; 
  3. ?> 

依次运行,结果是:php

session的检测与注销

还记得isset和unset函数吗?这两个函数分别实现session的检测与注销。

isst函数用于检测session是否已经被存在,语法如下:

bool isset($_SESSION['session_name'])

例如如下代码:

  1. session_start(); 
  2. if(isset($_SESSION['keyword'])) 
  3.  echo $_SESSION['keyword']; 
  4.  else 
  5.   echo "www.phpfensi.com"
  6. ?> 
  7. //结果:php 

usset函数用于注销已经建立的session变量。语法如下:

unset($_SESSION['session_name']))

例如如下代码:

  1. session_start(); 
  2. unset($_SESSION['keyword']); 
  3. if(isset($_SESSION['keyword'])) 
  4.   echo $_SESSION['keyword']; 
  5.   else 
  6.    echo "www.phpfensi.com"
  7. ?> 
  8. //结果:www.phpfensi.com 

Php处理会话的函数一共有10个,我们详细介绍一下将要用到几个函数。

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) 

返回值:布尔值 

功能说明:这个函数可将session信息解码,成功则返回逻辑值true 

8、session_name

函数功能:存取当前会话名称 

函数原型:boolean session_name(string [name]); 

返回值:字符串 

功能说明:这个函数可取得或重新设置当前session的名称。若无参数name则表示获取当前session名称,加上参数则表示将session名称设为参数name 

9、session_id

函数功能:存取当前会话标识号 

函数原型:boolean session_id(string [id]); 

返回值:字符串 

功能说明:这个函数可取得或重新设置当前存放session的标识号。若无参数id则表示只获取当前session的标识号,加上参数则表示将session的标识号设成新指定的id

10、session_unset

函数功能:删除所有已注册的变量。

函数原型:void session_unset (void) 

返回值:布尔值 

功能说明:这个函数和Session_destroy不同,它不结束会话。就如同用函数session_unregister逐一注销掉所有的会话变量。


推荐阅读
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 本文详细探讨了如何根据不同的应用场景选择合适的PHP版本,包括多版本切换技巧、稳定性分析及针对WordPress等特定平台的版本建议。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • Windows环境下Oracle数据库迁移实践
    本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • 本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • 本文探讨了在Windows系统中运行Apache服务器时频繁出现崩溃的问题,并提供了多种可能的解决方案和建议。错误日志显示多个子进程因达到最大请求限制而退出。 ... [详细]
  • 在尝试通过自定义端口部署Spring Cloud Eureka时遇到了连接失败的问题。本文详细描述了问题的现象,并提供了有效的解决方案,以帮助遇到类似情况的开发者。 ... [详细]
author-avatar
你给的喜欢--触不成及
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有