Yii框架学习笔记之session与cookie简单操作示例

本文实例讲述了Yii框架学习笔记之session与cookie操作。分享给大家供大家参考,具体如下:

session操作

<?php
  namespace app\controllers;
  use yii\web\Controller;
  class HelloController extends Controller{
    public function actionIndex(){
       //把session当做对象
       $session = \yii:$app->session;
      if($session->isActive){
         echo "session isactive";
      }else{
         $session->open();
      }
      $session->set("user","张三");
      $session->get("user");
      $session->remove("user");
       //把session当做数组
       $session['user'] = "张三";
       unset($session["user"]);
    }
  }
?>

cookie操作

<?php
  namespace app\controllers;
  use yii\web\Controller;
  use yii\web\Cookie;
  class HelloController extends Controller{
    //存入cookie和修改cookie
    $cookies = \YII::$app->response->cookies;
    $cookie_data = array('name'=>"user","value"=>"zhangsan");
    $cookies->add(new Cookie($cookie_data));//以'cookieValidationKey' 为基础的加密字符串
    $cookies->remove("id");//移除掉ID的cookie
    //取出cookie的值
    $cookies = \YII::$app->request->cookies;
    $cookies->getValue("user");
    //如果cookie不存在
    $cookies->getValue("user",20);//返回20
  }
?>

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

(0)

相关推荐

  • Yii2.0中的COOKIE和SESSION用法

    1.Cookie Yii2的Cookie主要是通过yii/web/Request和yii/web/Response进行操作的 ,通过/Yii::$app->response->getCookies()->add()添加Cookie,通过/Yii::$app->request->cookies读取Cookie. 1)添加一个Cookie <?php //第一种方法 $cookie = new /yii/web/Cookie(); $cookie -> name =

  • Yii2中cookie用法示例分析

    本文实例讲述了Yii2中cookie用法.分享给大家供大家参考,具体如下: <?php //设置方法 $cookie = new Cookie([ 'name' => 'cookie_monster', 'value' => 'Me want cookie!', 'expire' => time() + 86400 * 365, ]); \Yii::$app->getResponse()->getCookies()->add($cookie); //读取方法 $v

  • 解析PHP的Yii框架中cookie和session功能的相关操作

    Sessions 和 请求 和 响应类似, 默认可通过为yii\web\Session 实例的session 应用组件 来访问sessions. 开启和关闭 Sessions 可使用以下代码来开启和关闭session. $session = Yii::$app->session; // 检查session是否开启 if ($session->isActive) ... // 开启session $session->open(); // 关闭session $session->clo

  • YII2自动登录Cookie总是失效的解决方法

    前言 最近做Yii2自动登录功能,发现即使开启了Yii2的自动登录配置功能,浏览器关闭后,再次打开浏览器还是处于非登录状态. 网上查询资料基本没有相同情况. 查询登录源码: protected function sendIdentityCookie($identity, $duration) { $cookie = new Cookie($this->identityCookie); $cookie->value = json_encode([ $identity->getId(), $

  • Yii2下session跨域名共存的解决方案

    前面谈过session相关配置,在开发的时候,常需要跨域共用session的是登录模块,我相信很多开发的朋友的都遇到过,只需要一个地方登录,相关联的网站也是处于登录状态.两种情况:一种9streets.cn和a.9streets.cn之间,另一种是a.com b.com之间,这几天总结了一下处理方法. 无论是一二级域名,和不同域名下的跨域,无非要达到两点: 客户端访问同一个sessionId, 所有域名对应的服务器访问的session的数据的位置必须一致. 1.访问共同的sessionId主要是

  • yii操作cookie实例简介

    yii对cookie的操作常见的主要有以下几种: 1.设置cookie: $cookie = new CHttpCookie('mycookie','this is my cookie'); $cookie->expire = time()+60*60*24*30; //有限期30天 Yii::app()->request->cookies['mycookie']=$cookie; 2.读取cookie: $cookie = Yii::app()->request->getC

  • Yii框架用户登录session丢失问题解决方法

    本文实例讲述了Yii框架用户登录session丢失问题解决方法.分享给大家供大家参考,具体如下: 最近做项目,使用的是YII框架,用户的登录总是出现有时候能登录,有时候不能登录的情况.调试了很多次,开始以为是服务器配置问题,后来怎么测试都不行,还是出现有时候登录session丢失的情况,没办法,在群里面问,发帖,请教大拿,最后都没有发现什么问题. 无意间在网上看到一个人说yii session丢失的问题.终于解决了,解决方法: 初步解决方法: 打开文件 yii\framework\web\aut

  • yii操作session实例简介

    本文简述了Yii框架中使用session的方法,具体步骤如下: 一.与标准php代码的区别: 在Yii框架中,你不需要像标准PHP代码那样使用session_start(), 在Yii框架中,autoStart 属性缺省被设置为true,所以, 虽然没有使用session_start(),你仍然可以使用$_SESSION全局变量,但最好使用Yii框架封装的Yii::app->session 二.session变量的使用: 设置session: Yii::app()->session['var'

  • Yii中的cookie的发送和读取

    cookies: //新创建的cookie会从本地传到服务器上,然后从服务器获取. (1) cookie的发送 $cookies = Yii::$app->response->cookies; // 在要发送的响应中添加一个新的cookie eg:往cookies中添加用户名和密码 $cookies->add(new Cookie(['name'=>'username', 'value'=>$username,])); $cookies->add(new Cookie(

  • Yii框架学习笔记之session与cookie简单操作示例

    本文实例讲述了Yii框架学习笔记之session与cookie操作.分享给大家供大家参考,具体如下: session操作 <?php namespace app\controllers; use yii\web\Controller; class HelloController extends Controller{ public function actionIndex(){ //把session当做对象 $session = \yii:$app->session; if($session-

  • Yii框架学习笔记之应用组件操作示例

    本文实例讲述了Yii框架学习笔记之应用组件操作.分享给大家供大家参考,具体如下: 所有的组件都应声明在config/web.php //组件声明在该数组下 'components'=>array( //自定义组件1 - 函数形式 'customComponent1' => function(){ $custom = new app\components\CustomComponent\realization\CustomComponent1(); $custom->setName('谭勇

  • Flask框架学习笔记之消息提示与异常处理操作详解

    本文实例讲述了Flask框架学习笔记之消息提示与异常处理操作.分享给大家供大家参考,具体如下: flask通过flash方法来显示提示消息: from flask import Flask, flash, render_template, request, abort app = Flask(__name__) app.secret_key = '520' @app.route('/') def index(): flash("Hello loli") return render_te

  • YII框架学习笔记之命名空间、操作响应与视图操作示例

    本文实例讲述了YII框架命名空间.操作响应与视图操作.分享给大家供大家参考,具体如下: YII基础准备 1.命名空间 <?php /****假设有三个同名的类,输出的值为A,B,C****/ use a\b\c\apple; use d\e\f\apple as bApple; use g\h\i\apple; $app = new apple();//A $app = new bApple();//B $app = new \Apple();//C 调用的是全局的 2.操作响应 <?php

  • CI框架学习笔记(二) -入口文件index.php

    上一节(CI框架学习笔记(一) - 环境安装.基本术语和框架流程)中,我们提到了CI框架的基本流程,这里再次贴出流程图,以备参考: 作为CI框架的入口文件,源码阅读,自然由此开始.在源码阅读的过程中,我们并不会逐行进行解释,而只解释核心的功能和实现. 1. 设置应用程序环境 define('ENVIRONMENT', 'development'); 这里的development可以是任何你喜欢的环境名称(比如dev,再如test),相对应的,你要在下面的switch case代码块中,对设定的环

  • Flask框架学习笔记之路由和反向路由详解【图文与实例】

    本文实例讲述了Flask框架学习笔记之路由和反向路由.分享给大家供大家参考,具体如下: #-*- coding:utf-8 -*- from flask import Flask, request, url_for app = Flask(__name__) # 路由 @app.route("/") # 视图函数 def index(): return "<h1>Hello World!</h1>" # 新的user路由 @app.route

  • Flask框架学习笔记之表单基础介绍与表单提交方式

    本文实例讲述了Flask框架学习笔记之表单基础介绍与表单提交方式.分享给大家供大家参考,具体如下: 表单介绍 表单是HTML页面中负责数据采集功能的部件.由表单标签,表单域和表单按钮组成.通过表单,将用户输入的数据提交给服务器,并交给服务端进行处理. 表单标签 用于声明表单的范围,位于表单标签的元素将被提交. 语法:<form></form> 属性:Method规定用于发送表单数据的 HTTP 方法. Enctype规定在向服务器发送表单数据之前如何对其进行编码.(适用于 meth

  • Flask框架学习笔记之模板操作实例详解

    本文实例讲述了Flask框架学习笔记之模板操作.分享给大家供大家参考,具体如下: flask的模板引擎是Jinja2. 引入模板的好处是增加程序的可读性和易维护性,从而不用将一堆html代码塞在视图函数中. 还是以hello world为例.最基础的调用模板修饰文本. # 根网址 @app.route('/') def index(): # return render_template("index.html") # 可以给模板传入文本content修饰 content = "

  • laravel框架学习笔记之组件化开发实现方法

    本文实例讲述了laravel框架学习笔记之组件化开发实现方法.分享给大家供大家参考,具体如下: 1.第一个难点,就是把本地的组件引入到项目中,进行开发和测试,这个已经解决了 2.就是需要发布组件中的配置文件到项目中 3.就是怎么在组建中加载组建中的视图view层 视图 你需要告诉 laravel 视图的位置才能使 laravel 加载包中的视图.你可以通过服务提供者的 loadViewsFrom 方法.loadViewsFrom 方法接受两个参数:视图的路径和包的名称.比如,如果你的包名称是"c

  • Yii框架批量插入数据扩展类的简单实现方法

    本文实例讲述了Yii框架批量插入数据扩展类的简单实现方法.分享给大家供大家参考,具体如下: MySQL INSERT语句允许插入多行数据,如下所示: INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9); 那么要实现批量插入,主要的任务就是按照列顺序,把数据组装成上述格式即可,可以使用sprintf和vsprintf函数来实现. 下面是一个实现批量插入的Yii扩展类的简单示例(支持VARCHAR类型数据): <?php /** *

随机推荐