php创建session的方法实例详解

本文实例讲述了php创建session的方法。分享给大家供大家参考。具体分析如下:

保存session只需要两个步骤,开启session和保存session数据。默认情况下,session保存在服务器端 c:\windows\temp文件夹下(保存的路径可以在php.ini文件中修改:开启session.save_path,填写上保存的路径即可)。

session创建代码


代码如下:

<?php
echo "------如何保存 session 数据---------<br />";
//1、初始化 session
session_start();
//2、保存数据,可以保存的数据类型包括:字符串、整型、double型,数组,对象等
$_SESSION['name']="百度";//保存字符串
$_SESSION['age']=80;//保存整型

//保存数组
$arr = array("name"=>"小陈","age"=>25,"job"=>"程序员");
$_SESSION['person'] = $arr;

//保存对象
class Dog{
 public $name;
 public $age;
 public $color;
 function __construct($name,$age,$color){
  $this->name=$name;
  $this->age=$age;
  $this->color=$color;
 }
}
$dog = new Dog("小狗",2,"黄色");
$_SESSION['dog'] = $dog;

echo "保存成功";
?>

在C:\windows\temp文件下,找到一个保存session的文件,打开如下图:

说明:

(1)每一个session用分号;隔开。
(2)以第一个session为例:name表示键值、s表示字符串(相应:i表示整型,a表示数组,o表示对象等)、4表示长度、"百度"表示键值。

细节知识(很重要):

(1)每一个会话(就是打开浏览器访问某个网站,在关闭浏览器时,会话也就结束)对应一个session文件;
(2)session文件在执行 session_start()时创建,但此时,该文件为空,如果有session数据,则会写入该文件;
(3)session 数据默认保留时间为 1440秒,此时间为发呆时间,也就是在这段时间内,没有使用过该 session 文件(如果有使用过,那该文件的修改时间会自动更新--右键查看该文件属性即可看到)。可以在php.ini文件修改此默认值:session.gc_maxlifetime = 1440;
(4)重中之重:服务器在返回客户端浏览器请求时,会将session的信息( 如:PHPSESSID=0pk6fmamnk1btcgbcf444dnd76 ),以cookie的方式返回给浏览器(同样,你可以使用httpwatch来抓包查看)。当浏览器访问该网站的其它页面时,根据http协调,会把该cookie信息发送给服务器。服务器再根据该信息,查找到对应的session文件(对应的文件名为:sess_0pk6fmamnk1btcgbcf444dnd76)。

希望本文所述对大家的php程序设计有所帮助。

(0)

相关推荐

  • thinkphp中session和cookie无效的解决方法

    本文实例讲述了thinkphp中session和cookie无效的解决方法.分享给大家供大家参考.具体分析如下: 问题描述: 在本地调试时session和cookie是用没有问题的,我是用session保存当前登录账户的信息,上传服务器之后,发现跳转之后session不复存在,为什么呢?在当前页面输出session是存在的. 遇到这个问题三天了,因为是自学没有老师可以请教,身边也没有几个是弄PHP的,所以真的是很悲剧,于是乎百度,而百度上很多人都是屁话连天,没有什么可以解决问题的,经过三天的修改

  • 基于PHP 面向对象之成员方法详解

    用一个列子来读解成员方法:大家可以自己动手写一写,加深理解. 这样一个需求; 希望人可以说话, 做算术题.......,这样就需要使用到成员方法:1.添加speak 成员方法,输出 我是小明2.添加jisuan 成员方法,可以计算从 1+..+1000的结果3.修改jisuan 成员方法,该方法可以接收一个数n,计算 1+..+n 的结果4.添加add 成员方法,可以计算两个数的和 参考代码: 复制代码 代码如下: <?php class Person{ public $name;       

  • php自定文件保存session的方法

    本文实例讲述了php自定文件保存session的方法.分享给大家供大家参考.具体实现方法如下: session.inc.php文件:定义session的文件存储,session解决方案,就是要提供在php脚本中定义全局变量的方法,使得这个全局变量在同一个session中对于所有的php脚本都有效,我们都知道,session不是一个简单的时间概念,一个session中还包括了特定的用户和服务器,因此更详细地讲,在一个session定义的全局变量的作用范围,是指这个session所对应的用户所访问的

  • php中使用session防止用户非法登录后台的方法

    本文实例讲述了php中使用session防止用户非法登录后台的方法.分享给大家供大家参考.具体如下: 一般来说,我们登录网站后台时,服务器会把登录信息保存到session文件里,并通过读取session文件来判断是否可以进行后台操作. 以下面为例,假如admin.php是我们的后台操作页面,如果没有启用 session,那么,即便是没有登录,用户照样能访问到该页面,这时候,就需要用到 session 来防止用户非法登录到这个页面了.下面是三个文件的代码 登录页面:login.php 复制代码 代

  • php学习笔记 面向对象的构造与析构方法

    复制代码 代码如下: <?php /* * 1.对象中成员的访问(在一个对象的内部方法中,去访问本对轩昂中的其他方法和成员属性) * 2.在对象中的方法中都默认有一个$this关键字,这个关键字代表调用这个方法的对象 * * 构造方法 * * 1.是对象创建完成后,"第一个""自动调用"的方法 * * 2.构造方法的定义,方法名是一个固定的, * 在php4中:和类名相同的方法就是构造方法 * 在php5中:构造方法选择使用 魔术方法__construct()

  • php中将一个对象保存到Session中的方法

    本文实例讲述了php中将一个对象保存到Session中的方法.分享给大家供大家参考.具体如下: 要保存对象到session其实很简单,我们可以使用session_register()函数,下面是使用范例 person_class.inc.php如下: <?php // //File: person_class.inc.php //Contains the class definition necessary to let an object be a session //variable. //

  • php验证session无效的解决方法

    本文实例讲述了php验证session无效的解决方法.分享给大家供大家参考.具体方法如下: 一.问题 今天在配置 apache+php环境时折腾了很久很久,后来成功了但发现验证码图片可以生成,在登录验证时发现session为空,并没有值了. 二.解决方法 环境:apache+php 程序代码如下: 复制代码 代码如下: <input name="username" type="text" class="input" id="use

  • php实现session自定义会话处理器的方法

    本文实例讲述了php实现session自定义会话处理器的方法.分享给大家供大家参考.具体分析如下: session自定义会话处理器,即就是说,所有关于session的各种操作,都可以通过自定义会话来自己决定.什么意思呢?先来看php.ini里的session.save_handler配置. 默认情况下,session.save_handler = files,表示调用的是系统定义好的处理器(所谓处理器,其实就是一大堆函数/方法).您可从将session.save_handler设置成 user

  • php通过session防url攻击方法

    本文实例讲述了php通过session防url攻击方法.分享给大家供大家参考.具体实现方法如下: 通过session跟踪,可以很方便地避免url攻击的发生,php采用session防url攻击方法代码如下: 复制代码 代码如下: <?php session_start();  $clean = array();  $email_pattern = '/^[^@s<&>]+@([-a-z0-9]+.)+[a-z]{2,}$/i';  if (preg_match($email_pa

  • php创建session的方法实例详解

    本文实例讲述了php创建session的方法.分享给大家供大家参考.具体分析如下: 保存session只需要两个步骤,开启session和保存session数据.默认情况下,session保存在服务器端 c:\windows\temp文件夹下(保存的路径可以在php.ini文件中修改:开启session.save_path,填写上保存的路径即可). session创建代码 复制代码 代码如下: <?php echo "------如何保存 session 数据---------<br

  • Yii框架操作cookie与session的方法实例详解

    本文实例讲述了Yii框架操作cookie与session的方法.分享给大家供大家参考,具体如下: cookie操作 设置cookie //获取response->cookies组件 $cookies = \Yii::$app->response->cookies; //设置cookie数组 $array_cookies=array('name'=>'user','value'=>'doubly'); //添加cookie数据 $cookies->add(new Cook

  • C#动态创建button按钮的方法实例详解

    C#动态创建button按钮的方法实例详解 C#编程中经常需要动态创建,本文主要介绍C#动态创建button按钮的方法,涉及C#按钮属性动态设置的相关技巧,以供借鉴参考.具体实现方法如下: 例子: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.T

  • Angular7中创建组件/自定义指令/管道的方法实例详解

    组件 使用命令创建组件 •创建组件的命令:ng generate component 组件名 •生成的组件组成: 组件名.html .组件名.ts.组件名.less.组件名.spec.ts •在组件的控制器 @Component({ selector: 'app-heroes', templateUrl: './heroes.component.html', styleUrls: ['./heroes.component.less'] }) 手动创建组件 1.创建一个组件ts文件 2.在组件中设

  • springboot config 拦截器使用方法实例详解

    本文介绍Spring-Boot中使用拦截器,一般在拦截器中处理跨域处理,允许跨域访问项目,拦截器使用详细资料请查阅官网. 实现自定义拦截器步骤: 1.创建一个类并实现HandlerInterceptor接口. 2.创建一个Java类继承WebMvcConfigurerAdapter,并重写 addInterceptors 方法. 2.将自定义的拦截器交由spring管理,然后将对像手动添加到拦截器链中(在addInterceptors方法中添加). 创建拦截器类 package com.exam

  • SpringBoot使用WebSocket的方法实例详解

    WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输. 在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道.两者之间就直接可以数据互相传送. java怎么写 配置Be

  • Vue.js框架路由使用方法实例详解

    Vue.js框架路由使用方法实例详解 html代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name='viewport' content='width=device-width,initial-

  • apache zookeeper使用方法实例详解

    本文涉及了Apache Zookeeper使用方法实例详解的相关知识,接下来我们就看看具体内容. 简介 Apache Zookeeper 是由 Apache Hadoop 的 Zookeeper 子项目发展而来,现在已经成为了 Apache 的顶级项目.Zookeeper 为分布式系统提供了高效可靠且易于使用的协同服务,它可以为分布式应用提供相当多的服务,诸如统一命名服务,配置管理,状态同步和组服务等. Zookeeper 接口简单,开发人员不必过多地纠结在分布式系统编程难于处理的同步和一致性问

  • IOS 创建并发线程的实例详解

    IOS 创建并发线程的实例详解 创建并发线程 主线程一般都是处理UI界面及用户交互的事儿的.其他的事一般就要另外的线程去处理,如下载,计算等... 现在先简单创建3个线程,分别打印出1-1000,,为了方便,线程3就放在主线程中执行. - (void) firstCounter{ @autoreleasepool { NSUInteger counter = 0; for (counter = 0; counter < 1000; counter++){ NSLog(@"First Cou

  • Kotlin 语言中调用 JavaScript 方法实例详解

    Kotlin 语言中调用 JavaScript 方法实例详解 Kotlin 已被设计为能够与 Java 平台轻松互操作.它将 Java 类视为 Kotlin 类,并且 Java 也将 Kotlin 类视为 Java 类.但是,JavaScript 是一种动态类型语言,这意味着它不会在编译期检查类型.你可以通过动态类型在 Kotlin 中自由地与 JavaScript 交流,但是如果你想要 Kotlin 类型系统的全部威力 ,你可以为 JavaScript 库创建 Kotlin 头文件. 内联 J

随机推荐