php中的 session 和cookie 与 zend framework 中的 Session 和 $_COOKIE 简析

php中的session 和cookie用法:


cookie用法:

 

//设置user= alex porter 在 规定的 从当前时间开始 的1个小时后 失效;

setcookie("user", "Alex Porter", time()+3600);

 

//获取:cookie

 

if(isset($_COOKIE['user'])){ echo "获得了".$_COOKIE['user'];}

 

//删除cookie:

setcookie("user","",time()3600)

 

sessioin用法:

开始 :

<?php session_start(); ?>

 

使用:

$_SESSION['views']=1;echo "Pageviews=". $_SESSION['views'];

 

释放session:

unset($_SESSION['views']);注销session:session_desdroy();

 

在zend framework中的使用方法:

 

sessioin使用:

//在加载中;初始化一个 session 如下; 为该session创建个命名空间为charm ;然后把这个session 写入注册表中

为什么写入;是因为以后各个 模块调用的时候可以自己用;

    public function initSession()
    {
        Zend_Session::start();
        Zend_Session::setOptions($this->config->session->toArray());
        //设置一个单例命名空间 为charm
        $session = new Zend_Session_Namespace("charm",true);
        Zend_Registry::set("session", $session);
    }

 

下面:假设有个类: user.class 那么在其初始化中就可以这样调用:

 

    public function init()
    {
        //初始化model
        $this->user = new UserModel();
        //获取存放session的网站命名空间  charm
        $this->session = Zend_Registry::get("session");

       //$db = Zend_Registry::get("db"); 这样也是可以的
        //读取cookies初始化session
        $this->sessioninit();
       
    }

 

    public function sessioninit()
    {
        $userid = '';
        if(@$_COOKIE['COOKIE_MEMBER_ID'])
        {
          $userid = @$_COOKIE['COOKIE_MEMBER_ID'];
        }
        $username = '';
        if(@$_COOKIE['COOKIE_MEMBER_NAME'])
        {
          $userid = @$_COOKIE['COOKIE_MEMBER_NAME'];
        }
    }

 

在上面的代码里已经看到了 @$_COOKIE['COOKIE_MEMBER_NAME']; 没错;这就是zend framework里

怎么获取cookie 的使用方法;就这样的。如果你要问 那谁知道 session 的存活时间呢;其实在 config里面已经设置了

 

;session 设置
session.remember_me_seconds = 86400 //1天会话标识符还将保存在cookie中的时长
session.use_only_cookies = on

 

上面是获取cook 下面是 设置cook

 

setcookie ( "COOKIE_MEMBER_ID", $member_id, time() + 60 * 60 * 24 * 365, "/", ".12ik.com" );

 

设置了cook 的过期时间是1年( 24*60*60*365) domain 是 以/12ik.com 为命名空间的

 

删除cook就不用说了 直接设置为0秒就可以;

 

其次是销毁session方法:

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值