百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

YII框架学习详细解读(新手)NO.7 yii框架入门

suiw9 2024-10-24 15:54 23 浏览 0 评论

2017-11-1

Yii框架前台用户注册、用户登录系统实现

校验用户名和密码

使用组件UserIdentity对用户名和密码进行校验

用户名存储到session里边,通过用户验证组件CwebUser ( login();

【用户注册用户名密码md5加密】

【记住用户(2周不用重复登录)】

红色的"*"星号是css控制的

记住登录状态

这样下次再登录网站的时候,就不用重复输入用户名和密码。

是浏览器的cookie把状态给记住了。

通过图解查看Yii框架如何实现记录登陆状态

实现:

制作表单

实现model模型

Cookie的名字和值,在框架里边已经设置好了,无需关心。

为什么不能退出系统

答:退出系统的时候只是删除session信息,页面重定向回首页,由于我们登录系统的时候已经让cookie记住了登录系统,每次访问网站的时候都会读取cookie信息,再session持久化。有点死循环过程。

制作表单

设计模型(rules() login() attributeLabels())

【用户登录系统验证码设置】

Gd2画图工具

验证编码信息:随机数

验证码具体验证原理:

画图的同时就把验证编码进行session存储,用户输入的验证码信息与我们session里边存放的信息做比较。

实现:

制作表单

如何使用该核心类:

在控制器里边使用。

表单部分与控制器部分的联系:

$this->widget('CCaptcha'); 会间接调用控制器的方法 路由user/captcha

在登录模型里边对验证码进行校验:

'captcha'会简介找到CcaptchaAction进行验证码的比较。

验证码使用步骤:

在控制器设置actions方法

在表单里边通过widget显示验证码

在模型里边通过captcha校验验证码

<?php $this -> widget('CCaptcha'); ?> 会简介访问路由 user/captcha (CcaptchaAction)

array('verifyCode','captcha','message'=>'请输入正确的验证码'), 简介通过CcaptchaAction进行校验。

【后台用户登录系统】

复习前台用户登录系统

区分前台、后台用户信息(session区分)

为添加的数据表创建模型model

现在出现一个问题:前台登录用户信息与后台用户登录系统有混淆。

为后台管理员登陆系统设置session前缀信息 houtaiModule.php

【Yii框架中session的使用】

设置、使用、删除

【cookie在Yii框架中的使用】

【路径别名】

在Yii框架里边有许多地方使用路径别名:

System application zii 等等

总结:

用户登录系统

记住登录状态(rememberMe)

验证码 (控制器、视图、验证模型)

后台管理员登录系统(为用户登录session信息设置前缀 houtaimodule.php设置)

会话控制session cookie的使用

相关推荐

你要如何学习写一个数据库内核(如何实现一个最简单的数据库)

数据库这个方向上还有许多细分方向,每个细分方向上都有许多知识。...

每个大数据架构师都需要的6个基本技能

为了成为一名出色的大数据架构师,首先必须成为一名数据架构师,但这两种角色的职责各有不同。数据分为结构化和非结构化两种。尽管大数据为各种规模的组织提供了许多洞察和分析的机会,但处理起来非常困难,并且需...

警惕!Spring Data MongoDB SpEL表达式注入漏洞风险通告

漏洞描述近日,亚信安全CERT监控到SpringDataMongoDB存在表达式注入漏洞(CVE-2022-22980),该漏洞源于SpringDataMongoDB应用程序在使用带有SpEL...

既然有MySQL了,为什么还要有MongoDB?

大家好,我是哪吒,最近项目在使用MongoDB作为图片和文档的存储数据库,为啥不直接存MySQL里,还要搭个MongoDB集群,麻不麻烦?...

分布式系统核心概念及实现(分布式核心原理解析)

一、分布式系统核心概念1.分布式系统的定义分布式系统是由多个独立的计算机(节点)通过网络连接,协同完成任务的系统。这些节点可以是物理机、虚拟机或容器。...

nosql之mongodb(nosql数据库是国产的吗)

什么是MongoDB?MongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。...

如何治理非结构化数据?(非结构化化数据)

据调查,当前企业80%的数据为非结构化数据或半结构化数据,而结构化数据是他们管理的重点,非结构化数据却被忽视。然而,非结构化数据也有着它的价值。那么,如何治理非结构化数据?IDC调研显示,目前企业中8...

Cloudera收购大数据加密初创企业Gazzang

Hadoop供应商Cloudera刚刚收购了专门研究下一代数据存储环境加密技术技术的初创企业Gazzang,但交易细节并未透露。这是Cloudera的第一笔重大收购。Gazzang成立于20...

全网最全95道MongoDB面试题1万字详细解析

1、mongodb是什么?MongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB旨在给WEB应...

mongodb——视图(mongodb object)

MongoDB视图是一个可查询的对象,其内容由其他集合或视图上的聚合管道定义。MongoDB不会将视图内容持久化到磁盘。当客户端查询视图时,MongoDB可以要求客户端拥有查询视图的权限。MongoD...

mongodb的优缺点及应用场景(mongodb 优点 应用场景)

一、MongoDB是什么1、维基百科MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。...

5款Syslog集中系统日志常用工具对比推荐

一、为何要集中管理Syslog?Syslog由Linux/Unix系统及其他网络设备生成,广泛分布于整个网络。因其包含关键信息,可用于识别网络中的恶意活动,所以必须对其进行持续监控。将Sys...

跨平台、多数据库支持的开源数据库管理工具——DBeaver

简介今天给大家推荐一个开源的数据库管理工具——DBeaver。它支持多种数据库系统,包括Mysql、Oracle、PostgreSQL、SLQLite、SQLServer等。DBeaver的界面友好...

强烈推荐!数据库管理工具:Navicat Premium 16.3.2 (64位)

NavicatPremium,一款集数据迁移、数据库管理、SQL/查询编辑、智能设计、高效协作于一体的全能数据库开发工具。无论你是MySQL、MariaDB、MongoDB、SQLServer、O...

3 年 Java 程序员还玩不转 MongoDB,网友:失望

一、什么场景使用MongoDB?...

取消回复欢迎 发表评论: