zoukankan      html  css  js  c++  java
  • 跟着百度学PHP[9]-session会话

    参考: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即可。
     ?>

    删除当前会话

  • 相关阅读:
    DOM2DOM3续
    总结 @ 在 C# 中的用法 (装载)
    ORACLE10G卸载过程
    .net中访问oracle数据库的几种方式(转载)
    试图运行项目时出错,无法启动调试。没有正确安装调试器。请运行安装程序安装或修复调试器
    设计模式 构造器
    设计模式 抽象工厂
    linq中日期格式转换或者比较,程序报错说不支持方法的解决办法
    bootstrap图标字体不出来问题的解决办法
    JavaScript对象属性访问的两种方式
  • 原文地址:https://www.cnblogs.com/xishaonian/p/6270819.html
Copyright © 2011-2022 走看看