• 前端PHP入门-034-Session技术-掌握级别


    而Session是通过将数据保存在服务器端来实现保持连接的。我们通过一个例子来了解session的机制。

    我们去饮料店买饮料,下单以后服务员会给我们一个号码牌,然后你走到一旁,服务员并不认识你是谁,如果你想拿到你的饮料,你必须提供你的号码牌给服务员才可以,服务员通过号码牌来查记录,来确认你是顾客,确认你点了什么饮料,然后才会把你点的饮料给你。

    了解了session原理,再回到Web技术中,我们有2种方法让客户端拿到“号码牌”,一种是通过cookie,一种是通过把值嵌入网页传给客户端。我们也有2种方法来让客户端把号码牌传给服务器来拿属于自己的资料,一种是cookie,一种是标准的Query String/POST。

    PHP中使用session

    了解了session的原理后,我们来学习如何在PHP中使用session。

    1.开启session
    首先我们要开启session,那么第一个要学习的函数就是
    bool session_start()了,这个函数没有参数。在php文件的开始使用

    1. session_start();

    就可以启用新会话或者重用现有会话了。

    2.添加session数据
    开启会话之后,那么在接下来的处理中,我们就可以使用SESSION_SESSION变量是个数组。当我们要把信息存入session的时候应该这么写:

    1. $_SESSION['userName'] = 'wang';

    3.读取session数据
    读取很简单,就像我们使用数组一样,如下:

    1. $userName = $_SESSION['userName'];

    当然也可以 $_SESSION['userName'] 来用。和数组一样的使用。

    **4.销毁session数据******
    我们可以使用很多种方式来销毁session数据。

    a) unset函数

    我们通过使用类似

    1. unset($_SESSION['XXX']);

    来销毁session中的 XXX 变量。PS:请不要!请不要!请不要unset(SESSION),使_SESSION这个变量!!!

    b) 空数组赋值给session变量

    1. $_SESSION = array();

    之前我们说过SESSOIN_SESSION变量中的值销毁。

    c) session_destory() 函数

    这个函数会销毁当前会话中的全部数据,并结束当前会话。但是不会重置当前会话所关联的全局变量, 也不会重置会话 cookie。

    5.通过session来检查用户是否登陆和一个简单的购物车例子

    6.session的扩展:默认session存储在哪里。

    在php.ini配置文件中有这么一行 session.save_handler = files,
    files : 说明了php默认的是用文件读写的方式来保存session的。那么在哪个目录呢?继续看。session.save_path = "/tmp",

    这一行前面有个 ; ,说明是被注释的,不过即便这样,php默认的
    session 也是保存在这里的,/tmp目录。上图:
    document/2015-08-31/55e44c61f3733从图中我们可以看到确实在这个目录下面,我们顺便看看里面的内容

    document/2015-08-31/55e44c8eb3e27我的写入session的语句是:
    SESSION[as]=as;as_SESSION['as']中的as,|后面的s表示的是这是一个字符串类型的数据,2表示的是这个字符串所占的字节数,最后双引号引起来的是值as。

    PS:还可以自己动手试试存数字的话,|后面显示什么字母。还有,你还可以试试如果你存中文的话,字节数是多少?自己试!别看了!我不会告诉你的!!!





  • 相关阅读:
    Android动画系列
    Handler处理机制
    cp命令覆盖文件时不用按Y来确认的方法
    phantomjs
    无界面模式
    win10上安装keras
    MongoDB 排序
    MongoDB 条件操作符
    MongoDB 对象操作
    SQL 和 NoSQL 的区别
  • 原文地址:https://www.cnblogs.com/pangxiansheng/p/8f7fe09c97777862c9194f1d6bc6c147.html
Copyright © 2020-2023  润新知