社区项目(6):后台登录、后台基本布局

后台登录

准备:

  • 1、在application目录下创建admin目录,用来存放与后台相关的文件
  • 2、创建common(后台公共文件夹)、controller(后台控制器)、view(后台视图)
  • 3、在common目录下创建controller来存放公共控制器(Base.php)
    在这里插入图片描述

入口文件绑定

1、修改配置文件app.phpauto_bind_module 的值改为true
2、在public目录下创建admin.php 文件名与之前的后台模块名一致(因为这时后台的入口文件,要对应。就比如模块index就对应一个index.php);文件内容赋值index.php

<?php
// [ 应用入口文件 ]
namespace think;

// 加载基础文件
require __DIR__ . '/../thinkphp/base.php';

// 支持事先使用静态方法设置Request对象和Config对象

// 执行应用并响应
Container::get('app')->run()->send();

控制器
在controller目录下创建index.php,在view目录下创建对应的文件,

公共控制器

<?php

namespace app\admin\common\controller;

use think\Controller;

/**
 * 后台公共控制器
 */

class Base extends Controller
{

    //初始化方法
    protected function initialize()
    {
    }

    /**
     * 检测用户是否登录
     * 1、调用位置,后台入口 admin/index/index()
     */
    protected function isLogin()
    {
        if (!Session::has('admin_id')) {
            $this->error('请先登录', "admin/user/login");
        }
    }
}

入口控制器

<?php

namespace app\admin\controller;

use app\admin\common\controller\Base;

class Index extends Base{
    public function index(){
        //验证是否登录
        $this->isLogin();
        return $this->view->fetch('index');
    }
}

模型
在common目录下创建model,来存放与后台操作有关的模型

后台用户登录模型

<?php

namespace app\admin\common\model;

use think\Model;

/**
 * 后台用户登录模型
 */
class User extends Model
{
    //主键
    protected $pk = 'id';
    //绑定的表
    protected $table = 'zh_user';
}
管理员登录

创建管理员控制器User.php

登录验证

//验证后台登录
 public function checkLogin()
 {
     $date = Request::param();
     //dump($date);
     //查询条件
     $map[] = ['email', '=', $date['email']];
     $map[] = ['password', '=', sha1($date['password'])];
     $res = ModelUser::where($map)->find();
     //判断用户是否存在
     if ($res) {
         Session::set('admin_id', $res['id']);
         Session::set('admin_name', $res['name']);
         Session::set('admin_power', $res['is_admin']);
         $this->success('登录成功', 'admin/index/index');
     } else {
         $this->error('登录失败,请重试', 'admin/user/login');
     }
 }

后台模板布局

这里采用模板标签方式布局,基本结构
public/layout.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>{$title|default="标题"}</title>
    <link
      href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.0.0/css/bootstrap.css"
      rel="stylesheet"
    />
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.10.0/jquery.js"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.0.0/js/bootstrap.js"></script>
  </head>
  <body>
    <div class="container">
      <!--1 -->
      <div class="row">
        <!-- 顶部导航 (固定)-->
        <div class="col-md-12">{include file="public/nav" /}</div>
      </div>
      <!--2 -->
      <div class="row">
        <!-- 左侧菜单(固定) -->
        <div class="col-md-2">{include file="public/leftMenu" /}</div>
        <!-- 右侧操作区 -->
        <div class="col-md-10">{__CONTENT__}</div>
      </div>
    </div>
  </body>
</html>

在index.html使用模板文件

{layout name="public/layout" /}

<!-- 这里写的任何内容,都会与布局文件中的{__CONTENT__}进行替换 -->
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无知的小菜鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值