参考:http://www.w3school.com.cn/php/php_sessions.asp

session变量用于存储有关用户的会话的信息,或更改用户会话的设置,session变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。

session的工作机制就是为每一个访问者创建一个唯一的ID(UID),并基于这个UID来储存变量。UID储存在cookie中,亦或通过URL进行传导。

开始PHP session

目录/////////////////////////////////////////////

1.启动会话

2.注册会话

3.使用会话

4.删除会话

/////////////////////////////////////////////////


00x1

session的启动有两种方式:

  1.使用session_start函数

  2.使用session_register函数

1.session_start #该函数一般放置于页面的首端,在次之前不能有任何输出,否则会导致出错。

2.通过session_register函数创建会话,session_register是用来为会话创建一个变量来隐含的启动会话,但要求设置PHP.ini文件的选项即将reister_globals指令设置为on。然后重新启动apache即可。

使用session_start来创建一个session。

CODE:

<?php session_start(); ?>
<html>
<head><title>test</title></head>
<body>
  
</body>
</html>

上面的代码会向注册一个用户会话,以便保存用户的信息,同时服务器会为用户会话分配一个UID。


00x2 注册会话

 当会话变量被创建了以后,全部的会话都会保存在$_SESSION 变量当中。通过数组$_SESSION要创建一个会话变量直接在数组里面增加元素即可。

例如下面的。启动会话,然后创建了一个admin变量赋值为空。

<?php
session_start();#启动sessioin
$_SESSION['admin'] = null;#声明一个admin的变量。并赋空值。
?>

00x3 使用会话

在使用一个会话之前肯定需要判断惠爱华变量是否有一个会话ID的存在,如果不存在,就创建一个,并且使其能够通过全局数组$_SESSION进行访问。如果已经存在,则将这个已创建的会话变量载入以供用户使用。

一个小的案例:判断admin会话是否为空,如果不为空的话就将其赋值给$myvalue变量。

<?php
if(!empty($_SESSION['admin'])) #判断admin这个会话是否回空。
$myvalue = $_SESSION['admin']; #将会话变量赋值给$myvalue变量。
?>

00x4 删除会话

删除会话有三种。删除当前的会话,所有的会话,单个的会话。

先来讲一下如何删除单个的会话(unset)。

<?php
session_start();
$_SESSION['hello'] = 'world';
unset($_SESSION['hello']); #删除hello这个会话。
?>

删除多个会话

直接将一个空的数组赋值给$_SESSION即可。

<?php
session_start();
$_SESSION['hello'] = 'world';
$_SESSION['ni'] = 'hao';
$_SESSION = array();#直接将一个空的数组赋值给一个$_SESSION即可。
?>

删除当前会话

跟着百度学PHP[9]-session会话的更多相关文章

  1. 跟着百度学PHP[9]-session与cookie的异同

    COOKIE cookie是将数据存储在客户端中,以此建立客户端与服务器之间的联系,但是cookie任然有一些局限性: 1.cookie相对不是很安全,容易被盗用导致cookie欺骗. 2.单个的co ...

  2. 跟着百度学PHP[15]-session回收机制

    gc(Garbage Collection 垃圾回收) 在用户访问的时候会生成许多的临时session文件,顾名思义session回收机制就是用来删除这些临时文件的. session.gc_maxli ...

  3. 跟着百度学PHP[15]-SESSION的应用/网站登陆案例完整案例

    先把几个应该要有的页面建立好.

  4. 跟着百度学PHP[14]-PDO之Mysql的事务处理2

    前面所将仅仅是在纯mysql下的讲解,这节就是要将其搬到PDO台面上来了. 将自动提交关闭. SetAttribute下有一个PDO::ATTR_AUTOCOMMIT 将其设置为0即可关闭,如:$pd ...

  5. 跟着百度学PHP[15]-会话控制session的工作机制

    COOKIE和SESSION的两大区别: cookie是存储与客户端 session是存储与服务端 需要开启session的时候需要使用session_start开启,且session的开头不能拥有任 ...

  6. 跟着百度学PHP[7]会话控制(session与cookie) 1.cookie的设置

    参考慕课网:http://www.imooc.com/learn/26 参考W3C:http://www.w3school.com.cn/php/php_cookies.asp setcookie() ...

  7. 跟着百度学PHP[17]-PHP扩展CURL的用法详解

    实现的功能: 1.实现远程获取和采集内容2.实现PHP 网页版的FTP上传下载3.实现模拟登陆:去一个邮件系统,curl可以模拟cookies4.实现接口对接(API),数据传输等:通过一个平台发送短 ...

  8. 跟着百度学PHP[17]-PHP扩展CURL的POST传输数据

    如果是GET的话就不必那么多设置.但是基本需要用到POST就需要用到以下的几个设置选项. <?php $username = "admin"; $password = &qu ...

  9. 跟着百度学PHP[6]超级全局变量

    超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. 参考文献:http://www.runoob.com/php/php-superglobals ...

随机推荐

  1. C# 利用反射动态创建对象[摘录]

    摘自:http://hi.baidu.com/yangyuhang/blog/item/f12ea90e13f214e336d12250.html 在VS.Net中,有很多种方法动态调用对象的构造函数 ...

  2. WebUploader文件图片上传插件的使用

    最近在项目中用到了百度的文件图片上传插件WebUploader.分享给大家 需要在http://fex.baidu.com/webuploader/download.html点击打开链接下载WebUp ...

  3. (转)akka Router实例

    通常在分布式任务调度系统中会有这样的需求:一组actor提供相同的服务,我们在调用任务的时候只需要选择其中一个actor进行处理即可. 其实这就是一个负载均衡或者说路由策略,akka作为一个高性能支持 ...

  4. RUP(Rational Unified Process),统一软件开发过程

    RUP(Rational Unified Process),统一软件开发过程 https://baike.baidu.com/item/RUP/8924595?fr=aladdin RUP最重要的它有 ...

  5. JQuery 控制div滚动条保持最下

    $("#session_show").animate({ scrollTop: $("#session_show").scrollHeight },1000); ...

  6. android gallery 自定义边框+幻灯片效果

    最近在项目中用到图片轮播,试了Gallery,ViewFlipper,ViewPager,感觉Gallery最符合需求,但是Gallery的系统边框很难看,项目中要求用自己的背景图片. 下面来看一下使 ...

  7. async [ə'zɪŋk] 函数

    ES7提供了async函数,使得异步操作变得更加方便.async函数是什么?一句话,async函数就是Generator函数的语法糖. 例1: var asyncFun = async functio ...

  8. 错误:因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 解决方法

    在更新一个实体类的时候可能会有预先有一次查询或者其它操作,我们这样用目的是为了与提交的数据做一个比较之类的东西,如果先查询再对此类进行SaveChanges就会出错. 我们只要用AsNoTrackin ...

  9. Hadoop-1.2.1学习之Job创建和提交源码分析

    在Hadoop中,MapReduce的Java作业通常由编写Mapper和Reducer開始.接着创建Job对象.然后使用该对象的set方法设置Mapper和Reducer以及诸如输入输出等參数,最后 ...

  10. 38、各Set实现类的性能分析

    HashSet和TreeSet是Set的两个典型实现,到底如何选择HashSet和TreeSet呢?HashSet的性能总是比TreeSet好(特别是最常用的添加.查询元素等操作),因为TreeSet ...