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

PHPSession用法与Sessions入门实例应用

session出现头信息已经发出的原因与cookie一样在php教程5中,所有phpsession的注册表配置选项都是编程时可配置的,一般情况下,我们是

session 出现头信息已经发出的原因与COOKIE一样.在php教程5中,所有php session 的注册表配置选项都是编程时可配置的,一般情况下,我们是不用修改其配置的.要了解php的session注册表配置选项,请参考手册的Session 会话处理函数处.

session的保存数据的时候,是通过系列化$_SESSION数组来存贮,所以有系列化所拥有的问题,可能有特殊字符的值要用base64_encode函数编码,读取的时候再用base64_decode解码

下面是一个简单的脚本,你应该在你的PHP代码开始的地方开始了一个PHP的会话。

  1. session_start(); // start up your PHP session!  
  2. ?> 

这小片的代码将注册与服务器的用户的会话,让您开始储蓄用户信息和分配一个UID(独特的识别号码该用户的会话)。

存储会话变量

当你要存储在会话用户数据使用了$ _SESSION关联数组,这是你们两个存储和检索会话数据,在以前的PHP版本中还有其他方法来执行此存储操作,但它已被更新,这是正确的方式去做。

  1. session_start();  
  2. $_SESSION['views'] = 1; // store session data 
  3. echo "Pageviews = "$_SESSION['views']; //retrieve data 
  4. ?> 

看个简单购物车实例

  1. session_start();   
  2. if(isset($_SESSION['views'])) 
  3.     $_SESSION['views'] = $_SESSION['views']+ 1; 
  4. else 
  5.     $_SESSION['views'] = 1; 
  6. echo "views = "$_SESSION['views'];  
  7. ?> 
  8. session_start();   
  9. if(isset($_SESSION['cart'])) 
  10.     unset($_SESSION['cart']);  
  11. ?> 
  12. session_start();  
  13. session_destroy(); 
  14. ?> 

session使用实例

  1. /** 
  2.  * 效验session的合法性 
  3.  * 
  4.  */ 
  5. function sessionVerify() { 
  6.     if(!isset($_SESSION['user_agent'])){ 
  7.         $_SESSION['user_agent'] = MD5($_SERVER['REMOTE_ADDR'
  8.         .$_SERVER['HTTP_USER_AGENT']); 
  9.     } 
  10.     /* 如果用户session ID是伪造,则重新分配session ID */ 
  11.     elseif ($_SESSION['user_agent'] != MD5($_SERVER['REMOTE_ADDR'
  12.     . $_SERVER['HTTP_USER_AGENT'])) { 
  13.         session_regenerate_id(); 
  14.     } 
  15. /** 
  16.  * 销毁session 
  17.  * 三步完美实现,不可漏 
  18.  * 
  19.  */ 
  20. function sessionDestroy() { 
  21.     session_destroy(); 
  22.     setCOOKIE(session_name(),'',time()-3600); 
  23.     $_SESSION = array(); 
  24. ?> 

session解决了一个PHP允许你存储上以供日后使用(即用户名,购物车中的物品等)服务器的用户信息这个问题,不过,本次session的信息是暂时的,通常会被删除后,很快用户已经离开了网站,它使用会话。

重要的是要思考,如果session的临时存储是适用于您的网站,如果你需要一个较长期储存,你需要找到另一种解决方案,像一个MySQL数据库教程。

session的工作创造一个独特的识别码(UID)为每个访问者,并在此基础身份证储存变数。这有助于防止两个用户的数据获取与另一次混乱的时候访问同一网页。

注:如果您不与会话编程经验,不建议您使用在网站上,需要高度安全session,因为有安全漏洞,需要一些先进的技术,以堵塞。

启动一个PHP会话

在您可以开始在你的PHP会话存储用户信息,您必须首先启动了session,当您启动一个会话,它必须在您的代码的开头很之前任何HTML或文本,发送。


推荐阅读
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • Windows环境下Oracle数据库迁移实践
    本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • egg实现登录鉴权(七):权限管理
    权限管理包含三部分:访问页面的权限,操作功能的权限和获取数据权限。页面权限:登录用户所属角色的可访问页面的权限功能权限:登录用户所属角色的可访问页面的操作权限数据权限:登录用户所属 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 本文提供了处理WordPress网站中出现过多重定向问题的方法,包括检查DNS配置、安装SSL证书以及解决数据库连接错误等步骤。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 本文探讨了当通过Nginx访问网站时出现504 Gateway Timeout错误的解决方案,特别是当请求处理时间超过30秒时的情况。文章提供了调整PHP-FPM配置的具体步骤,以延长请求超时时间。 ... [详细]
  • 本文详细介绍了如何使用SQL*Plus连接Oracle数据库以及使用MySQL客户端连接MySQL数据库的方法,包括基本命令和具体操作步骤。 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 服务器虚拟化存储设计,完美规划储存与资源,部署高性能虚拟化桌面
    规划部署虚拟桌面环境前,必须先估算目前所使用实体桌面环境的工作负载与IOPS性能,并慎选储存设备。唯有谨慎估算贴近实际的IOPS性能,才能 ... [详细]
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社区 版权所有