zoukankan      html  css  js  c++  java
  • Cookie与Session

    Cookie

    1、创建Cookie

    PHP中通过setcookie()函数创建cookie,在创建cookie之前必须了解的是,Cookie是HTTP头标的组成部分,而头标记必须在页面其他内容之前发送,它必须最先输出,即使在setcookie()函数前输出一个HTML标记或echo语句,甚至一个空行都会导致程序出错。

    格式:

    setcookie($name,$value,$expire,$path,$domain,$secure)

    其中,$path指的是服务器路径,$secure规定是否通过安全的HTTPS来传输Cookie。实例如下所示:

    <?php
    setcookie('PHPcookie', 'www.58lxqy.com');
    setcookie('PHPcookie', 'www.58lxqy.com', time+3600);//设置cookie的有效时间1小时
    setcookie('PHPcookie', 'www.58lxqy.com', time+3600,' /cookie/',1); //设置有效时间为1小时;有效目录为'/cookie/',有效域名为'58lxqy.com'及其子域名
    ?>

    2、读取Cookie

    <?php
    if(!isset($_COOKIE["visittime"])){        //判断cookie文件是否存在?如果不存在
    setcookie("visittime",date("Y-m-d H:i:s"));   //设置一个cookie的变量
    echo "欢迎您第一次访问php100网站";     //输出字符串
    }else{                //如果cookie存在
    echo "您上次访问php100的时间为:".$_COOKIE["visittime"];//显示上次设置的cookie的值
    setcookie("visittime",date("Y-m-d H:i:s"),time+3600);//设置新的cookie,失效时间为一个小时
    echo "<br>";//换行
    }
    echo  "你本次访问php100的时间为:". $_COOKIE["visittime"];//输出当前访问时间
    ?>

    如果未设置Cookie到期时间,相应的Cookie在关闭浏览器后会自动删除。如果为Cookie设置了到期时间,浏览器将会记住Cookie数据,即

    <?php
    if(!empty($_COOKIE['num'])){
    $num=$_COOKIE['num']+1;
    }else{
    $num=1;
    }
    setcookie("num",$num,time()+2678400);
    ?>

    重新启动计算机,只要没到期,访问网站也会获得之前设置的信息。

    3、删除Cookie

    一种是使用setcookie()函数删除Cookie

    setcookie("name","",time()-1);

    将cookie的第二个参数设置为空,将三个参数Cookie的到期时间设置为小于系统的当前时间即可,上面把当前时间-1秒就得到过去的时间,从而删除Cookie。其实把过期时间设置为0,可以直接删除Cookie。

    4、Cookie的生命周期

    浏览器允许最多存储300个Cookie文件,而且每个Cookie文件支持的最大容量为3KB,每个域名最多支持20个Cookie。如果达到限制时,浏览器会自动地随机删除Cookie。

    5、Cookie的综合应用,计算网站的月访问量

    <?php
    if(!empty($_COOKIE['num'])){       //判断是否存在为num的cookie
        $num=$_COOKIE['num']+1;                //如果存在访问量自动+1
    }else{
        $num=1;                        //否则,设置默认设置为1
    }
    setcookie("num",$num,time()+2678400); //将访问量设置为Cookie,存储时间为31天
    
    您是第<?php $num?>位访客
    ?>

    二、Session管理

    1、了解Session

    对比Cookie,会话文件中保存的数据是在PHP脚本中以变量的形式创建的,而创建会话变量在生命周期(20分钟)可以被跨页请求所引用。另外,Session是存储在服务器端的会话,相对安全,并且不像Cookie那样有长度的限制。另外Session会话用于存储用户的信息量比较少的情况,如果用户需要存储的信息量比较少,并且存储内容不需要长期存储,那么使用Session把信息存储在服务器端比较合适。

    2、启动会话

    通过session_start()启动会话,使用此函数之前浏览器不能有任何输出,否则会产生一个类似于如图10-7所示的错误。

    通过session_register()函数创建会话,此函数是用来为会话加载一个变量来隐含地启动会话(不需要调用session_start()),但是要求设置

    3、注册会话

    把信息添加到全局数组$_SESSION中,如下所示:

    <?php
    Session_start();
    $_SESSION['name']="58lyqy.com";
    ?>

    4、使用会话,比较简单

    5、删除会话

    删除单个会话:unset($_SESSION['name']);

    删除多个会话:$_SESSION=array()

    结束当前会话:session_destroy();

  • 相关阅读:
    System.Threading.Timer 无规律执行次数的问题
    C#通过URL获取顶级域名的方法
    C#变量声明添加?与@的用法
    基于system.diagnostics Trace的日志输出
    SSB(SQLservice Service Broker) 入门实例
    .NET 入门测试题二:流程控制
    .NET 入门测试题三:变量的更多内容
    .NET 入门测试题四:函数
    .NET 入门测试题一:变量与表达式
    WinCE切换GPRS
  • 原文地址:https://www.cnblogs.com/shudonghe/p/2961710.html
Copyright © 2011-2022 走看看