php session会话使用方法详解

本文章来给各位php 初学者介绍一篇关于php中全局变量session会话的基本使用方法

Session是什么

Session是指有始有终的一系列动作或信息,比如去看电影从进入影院到走出影院的整个过程可以称为一个Session,Cookie将数据存储在客户端计算机上,而Session将不定量的变量存储在服务器端。

每一个用户链接网站服务器后便会产生一个Session,所以首先要告诉服务器使用Session功能来存储数据。启用Session功能的方式有两种:

1,使用session_start()函数启动会话,其结构形式如下:

session_start()

函数不能带参数,其返回值为布尔型。

2,在php.ini中设置参数 session.auto_start,将此参数设为1,即当有连接到服务器后Session功能将自动启用。

启动Session后,在使用Session变量之前首先要注册变量,之后才能使用,反之不使用某个变量时就要取消注册。Session_register(变量名)可以注册一个Session变量;Session_unregister(变量名)可以取消注册一个Session变量,例如:

  1. session_start(); /* 启动session变量 */
  2. session_register('user') /* 注册user变量 */
  3. session_unregister('user') /* 注销user变量 */

调用session变量,php session使用方法:用函数$_SESSION[]可以创建一个函数变量,其格式如下,代码如下:$_SESSION['$string']=$str;

参数$string是要定义的变量名,$str是变量值,在调用时使用$_SESSION[$string]的格式,实例代码如下:

  1. <?php
  2. session_start();
  3. $_SESSION['name']="Jane";
  4. $_SESSION['password']="888888";
  5. echo "用户名是: " .$_SESSION['name'] ."<br>";
  6. echo "密码是: " .$_SESSION['password'] ."<br>";
  7. ?>

session的使用

本站前面介绍了session的一些概念以及基本操作,这里通过实例介绍php session使用的方法,实例代码如下:

  1. <?php
  2. session_start(); /* 启动session */
  3. $_SESSION['name']="LIMing";
  4. $_SESSION['password']="888888";
  5. $_SESSION['time']=time();
  6. echo "<a href='session.php' target='_blank'>传递session</a><br />"
  7. ?>

session.php代码如下:

  1. <?php
  2. session_start();
  3. echo "用户名是:" .$_COOKIE['name'] ."<br>";
  4. echo "密码是:" .$_SESSION['password'] ."<br>";
  5. echo "访问时间是:" .date('Y m d H:i:s', $_SESSION['time']) ."<br>";
  6. ?>

获取session_id的值

每一个session都有会被指定一个特定的id,用session_id来标识。我们可以通过session_id()函数查看当前session_id的值,其结构形式如下:session_id()

实例代码如下:

  1. <?php
  2. session_start(); /* 启动session */
  3. $id=session_id(); /* 获取当前session_id */
  4. echo "当前sessionID是: " .$id;
  5. ?>

cookie与session的区别

session和cookie都是重要的会话管理应用,在许多的php开发项目都会用到。它们的作用是能够给不同的用户创建不同的值,从而让不同的用户返回的结果都不相同。

那么session cookie区别在哪里呢?

cookie是利用客户端来创建,当用户用浏览器打开网站时就会给用户创建一个cookie,这个过程是由用户的电脑执行的,网站的服务器只是发送一些指令。因此如果用户禁止了cookie功能,则无法利用cookie来实现相关功能。

session则是利用服务端来创建,整个过程都由服务器来执行,用户无权干预。

在运用时,如果你希望节约服务器的资源,可以选用cookie来进行会话管理;如果你希望所有的浏览者都能使用会话管理,则应该选用session。