夺命雷公狗tp3.2.3商城8-----管理员登录并且保存session

夺命雷公狗 夺命雷公狗     2022-09-10     369

关键词:

首先我们在D:\phpStudy\WWW\shop\WEB\Admin\Controller  目录下创建LoginController.class.php,登录和注销都是在这个控制器下执行的:

然后我们对她进行编辑:

然后到  D:\phpStudy\WWW\shop\WEB\Admin\View  目录下抽奖login的文件夹,再将我们准备好的模版拉进去即可。。。

再将里面的样式都改一下即可。完成后如下所示:

 

 

然后我们在控制器下接收下post过来的数据在发送给Model 来进行处理,如下所示:

<?php
namespace Admin\Controller;
use Think\Controller;
class LoginController extends Controller {
    public function index(){
        if(IS_POST){
            $username = I('admin');
            $password = I('pwd');
            if(D('admin')->checkUser($username,$password)){
                //dump($_SESSION);die;
                $this -> success('登录成功',U('index/index'));
            }else{
                $this -> error('用户名或则密码错误');
            }
            return;
        }
        $this -> display();
    }
}

 

由于是Admin表的信息,所以我们直接在Admin的模型下定义即可:

<?php
namespace Admin\Model;
use Think\Model;
class AdminModel extends Model {
    protected $_validate = array(
        array('username','require','管理员名称不能为空',1), //后面的1是这个字段必须验证的意思
        array('password','require','管理员密码不能为空',1), 
        array('passer','require','管理员确认密码不能为空',1), 
        array('username','','管理员名称已经存在!',1,'unique',3)
        //上面这条
        //第一个如果是 0:存在字段就验证,1:必须验证,2:值不为空时候验证
        //第二个如果是  1:表示添加时候验证,2:修改时候验证,3:全部情况下验证
    );
        //验证用户名和密码
        public function checkUser($username,$password){
            $condition['username'] = $username; //数据库设计的时候这里是admin_name
            $condition['password'] = md5($password);  //数据库设计的时候这里是password
            if($admin=$this->where($condition)->find()){
                //成功,保存session,并且跳转到首页
                session('admin',$admin);
                return true;
            }else{
                return false;
            }
        }
}

 

 

这样登录就完成啦

 

夺命雷公狗tp3.2.3商城13-----无限极分类添加

由于我们需要使用到的是模型来验证一下,所以我们先到 D:phpStudyWWWshopWEBAdminModel 下创建一个CateModel.class.php <?phpnamespaceAdminModel;useThinkModel;classCateModelextendsModel{protected$_validate=array( 查看详情

夺命雷公狗tp3.2.3商城14-----无限极分类列表页

其实列表页也是和添加一样都是依赖于我们模型中定义的函数的查询方法进行查询的: <?phpnamespaceAdminModel;useThinkModel;classCateModelextendsModel{protected$_validate=array(array(‘catename‘,‘require‘,‘分类名称不能为空‘,1));//定义一个... 查看详情

夺命雷公狗tp3.2.3商城15-----无限极分类修改

我们回到控制器下,修改下editpublicfunctionedit(){$id=I(‘id‘);$mod=D(‘cate‘);$vos=$mod->find($id);$this->assign(‘vos‘,$vos);$this->display();} 然后我们到模版中,现将他的名字显示出来: 然后测试看看效果如何:测试成功,但是... 查看详情

夺命雷公狗tp3.2.3商城3-----数据库的创建以及连接

 然后我们来到TP中配置一下数据库连接  D:phpStudyWWWshopWEBCommonConf: <?phpreturnarray(//‘配置项‘=>‘配置值‘//系统中允许访问的模块(前后台)‘MODULE_ALLOW_LIST‘=>array(‘Home‘,‘Admin‘),//配置默认进入模块Home... 查看详情

夺命雷公狗tp3.2.3商城11-----后台头部和左侧导航分离

我们来将网站后台的头部和左侧的导航分离出来: 然后在模版中找到类为:topbar-innerclearfix的地方: 然后我们在然后在D:phpStudyWWWshopWEBAdminView里面创建一个Public的目录,然后在创建一个header.html的文件,将这段代码直接给... 查看详情

夺命雷公狗tp3.2.3商城10-----中间层的创建,防止跨目录访问

我们在D:phpStudyWWWshopWEBAdminController 目录下创建一个创建一个CommonController.class.php的中间层,让后让后台别的控制器都直接继承CommonController这个控制器即可决解跨目录访问的问题:  <?phpnamespaceAdminController;useThinkCont 查看详情

夺命雷公狗tp3.2.3商城17-----无限极分类删除(玩法2:栏目和栏目下的子级栏目都删除)

首先我们来到模版下对Cate的模型下进行添加两个函数,使用递归的方法将他的子级栏目的id取出来:<?phpnamespaceAdminModel;useThinkModel;classCateModelextendsModel{protected$_validate=array(array(‘catename‘,‘require‘,‘分类名称不能为空‘,1));//... 查看详情

夺命雷公狗tp3.2.3商城16-----无限极分类删除(玩法1:有子级分类的不能删除)

无限极分类的删除和别地方的删除有一些地方不同,比如,别的地方删除就是直接干掉即可,但是我们的无限极分类则不然,因为还有子级栏目的,我们就不能让他删除,否则就有一大群无家可归的子级分类了: 那么首先来... 查看详情

夺命雷公狗c/c++-----8---打开一个文件

提示:在c语言中\两个斜杠代表着一个 斜杠而已噢,很多新人朋友都会在这里出现道问题噢其实我们还可以通过c语言来打开一个文件噢,比如我们打开一个记事本来玩玩 #include<stdio.h>#include<windows.h>voidmain(){ShellEx... 查看详情

夺命雷公狗-----react---8--react官方提供的组建实现双向绑定

首先要引入她。。 <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Document</title><scriptsrc="./js/react-with-addons.js"></script><scripts 查看详情

夺命雷公狗---微信开发38----临时二维码

我们要做一个临时的二维码,就类似超市的最后抢购30秒。临时二维码手册的查找方式几乎差不了什么  第一步都是需要先申请到一个ticket值,然后通过ticket值去换取二维码,temp_qrcode.php代码如下: <?phpheader("Content-T... 查看详情

夺命雷公狗---node.js---15之加密

node其实也给我们留下了密码的加密发送,不过一般都是用cmd5加密其实也是够了,但是sha1加密也要提下:   /***Createdbyleigoodon2016/8/31.*/varcrypto=require(‘crypto‘);varmd5=crypto.createHash(‘md5‘);varpass=‘admin888‘;md5.update(pass 查看详情

夺命雷公狗—java---003---java注释

夺命雷公狗—JAVA---003---java注释JAVA注释//我是单行注释/*我是多行注释~~!*//***这个类绘制一个条形图*我是文档注释*@authorrunoob*@version1.2*/  查看详情

夺命雷公狗---node.js---14之dns

node下如果想域名解析是需要通过apache或者ng的反向版定才可以实现的,但是他也给我们留下了哟套DNS操作方法:  /***Createdbyleigoodon2016/8/30.*///1resolve()--决定域名转换成ip(dns的记录)//2reverse()--颠倒ip转换成域名lookup()vardns=... 查看详情

夺命雷公狗—java---008---println和print的区别

夺命雷公狗—JAVA---008---println和print的区别代码如下所示:classTest{publicstaticvoidmain(String[]args){System.out.println("夺命雷公狗");System.out.println(18);System.out.println('男');System.out.println("-------------"); 查看详情

夺命雷公狗—java---005---编码问题

夺命雷公狗—JAVA---005---编码问题在编写程序的时候我们是需要注意一下编码问题的,比如我们创建一个Hello.java 的文件,代码如下所示:classHello{publicstaticvoidmain(String[]args){System.out.println("你好");}}  然后我们来到文件... 查看详情

夺命雷公狗—java---010---变量

夺命雷公狗—JAVA---010---变量变量是用来存储数值(数据)在java中,变量其实就是一块存储区域,变量中存储的数据时存储在JVM内存中的。  变量三要素1,数据类型是用来存储:字符串,小数,整数,单个字符,布尔值,... 查看详情

夺命雷公狗-----react---2--组建

  <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Document</title><scriptsrc="./js/react.js"></script><scriptsrc="./js/react 查看详情