内容管理系统——后台登录

2023-11-17

在课上,我通过《Laravel框架开发实践》一书学习了有关PHP的知识和应用,也通过书本上的“内容管理系统”案例实践并应用了所学的知识。下面将对这一案例中的后台登录模块进行介绍。


目录

前言

一、创建用户表

二、显示登录页面

1.登录表单

2.验证码

三、验证用户登录 

 四、用户退出

总结


前言

“内容管理系统”案例分为前台和后台。前台的功能包括用户登录与注册、内容列表、内容详细页、广告展示、评论和热门内容等。后台的功能包括管理员的登录、栏目内容和广告的增删查改等。

下面将对后台登录这一功能进行介绍。


一、创建用户表

在命令行中执行命令创建迁移文件,并在迁移文件中的up()方法中添加表的结构。

执行命令:

php artisan make:migration create_admin_user_table

 迁移文件创建完成后,使用命令执行迁移,并创建填充文件。在新的迁移文件中的run()方法内编写填充代码后,执行命令填充文件。

创建填充文件命令:

php artisan make:seeder AdminUserTableSeeder

php artisan db::seed --class=AdminUserTableSeeder

 

 数据表创建成功后,执行命令创建模型Admin,并在模型中指定要操作的表名。


二、显示登录页面

1.登录表单

创建User控制器,并在控制器中创建login()方法,然后在路由中添加规则。

创建控制器命令:

php artisan make:controller Admin\UserController

添加路由规则:

Route::get('/admin/login','Admin\UserController@login')

 

 创建视图文件login.blade.php,并引入静态文件Bootstap、jQuery、toastr。然后创建登录表单。

 

2.验证码

使用Composer载入mews/captcha验证码,并创建验证码的配置文件。然后编写验证码的文件,将字符数改为4,并将验证码服务注册到服务容器中,再给验证码服务注册别名。

执行命令:

composer require mews/capcha=3.0

php artisan vendor:publish

下面展示部分代码:

 

在<script>中实现点击切换验证码图片功能。

 


三、验证用户登录 

通过设置<form>标签中的action属性设置表单的提交地址,给登录表单的action属性添加属性值,指定表单的提交地址为“{{ url('admin/check)' }}”,表示UserController的check()方法,并在路由中添加路由规则。

Route::post('/admin/check','Admin\UserController@check')

 在User控制器中编写check()方法,并引入部分命名空间,然后在视图中添加跳转代码。


 四、用户退出

在User控制器中添加logout()方法,用于删除Session中的用户信息,用户退出登录后跳转到登录页面,并在路由中添加路由规则。

Route::get('/admin/logout','Admin\UserController@logout')

 


总结

后台登录运用了Ajax交互:当用户填写完登录表单后,使用Ajax将请求的代码进行封装,使页面不发生跳转,对用户的体验度也提高了许多。

后台登录的功能十分简单,但相对于前台登录来说还有些复杂,因为涉及的验证很多。但至少我完成了这些,运行也没问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

内容管理系统——后台登录 的相关文章

随机推荐

  • ctfhub 基础认证

    1 打开题目环境 2 点击click跳出来一个登录弹窗 随便输入用户名和密码登录试试 没有返回任何有用信息 3 查看附件 得到一堆密码 应该是要直接爆破 4 点击click抓包后发送到repeater模块 重新发包得到 Do u know
  • python global local nonlocla

    目录 What is the global keyword Rules of global Keyword Use Global Example 1 Accessing global Variable From Inside a Funct
  • redis-cli的安装

    1 下载redis cli 2 解压缩 3 简易配置 4 查看redis Cli的使用说明 5 常规连接指令 redis cli h 目标主机ip地址 p 端口号
  • {System.InvalidOperationException: 未在本地计算机上注册“Microsoft.Ace.OleDb.12.0”提供程序。

    System InvalidOperationException 未在本地计算机上注册 Microsoft Ace OleDb 12 0 提供程序 在 System Data OleDb OleDbServicesWrapper GetDa
  • 前端面试-HTML5篇

    链接 https www nowcoder com questionTerminal 来源 牛客网 Question 6 描述一下 cookies sessionStorage 和 localStorage 的区别 cookit是网站为了标
  • ThreadPoolExecutor源码解析

    ThreadPoolExecutor源码解析 一 新建线程池的是构造方法 public ThreadPoolExecutor int corePoolSize int maximumPoolSize long keepAliveTime T
  • 超详细手把手教你App上线AppStore

    作为一个iOSer上线流程是不可或缺的技能 今天就带领大家重温上线流程 一 准备工作 已付费的开发者账号 开发者账号分为以下四种类型 个人 Individual 资费 99 年 公司 Company 99 年 企业 Enterprise 2
  • C# RichTextBox显示不同颜色文字

    region 日志记录 支持其他线程访问 public delegate void LogAppendDelegate Color color string text
  • C语言(关于unsigned char的几个问题)

    关于unsigned char unsigned char是char 的无符号类型 同char一样占用1个字节 存储范围为0 255 所存储的数据服从以下规律 数据服从于一个闭环 当我们输入0 255之间的数据之时 以0为起点 顺时针走向
  • CentOS安装MariaDB

    CentOS安装MariaDB 此处以CentOS 7 x86 64 安装MariaDB 10 2为例 MariaDB数据库是 MySQL 的一个分支 主要由开源社区在维护 采用 GPL 授权许可 MariaDB完全兼容 MySQL 包括A
  • Java并发测试中的发现

    这个程序是用来测试线程并发性用的 可以看出这个程序存在的问题还是很多的 1 共享变量count没有实现可见性 2 count 操作不是原子操作 内部可能发生重排序 我的目标是让结果为threadA和threadB的结果任何一个得出20000
  • mysql show tables like,带多个LIKE值的SHOW TABLES语句

    mysql gt SHOW TABLES like cms Tables in tianyan cms cms 1 row in set 0 00 sec Result mysql gt SHOW TABLES like cms or li
  • 火猴之产品组成热点图编程(firemonkey)

    效果图 用途 地图 产品组成 举例 以产品组成为例 如最近最火的机甲大师 思路 1 组件 TMSFMXHotSpotImage1 TMSFMXHTMLText1 2 加载背景 编辑热点区域 代码 操作 1 右键窗体 打开编辑热点窗口 2 加
  • Delphi游戏开发网址大全[转贴]

    Source Code http www codefans com CodeList Catalog 5 CodeTime Desc 1 html http www vscodes com sitemap html http www itl
  • 推荐4个Flutter重磅开源项目

    早上好 骚年 我是小 G 我的公众号 菜鸟翻身 会推荐 GitHub 上有用的项目 一分钟 get 一个优秀的开源项目 挖掘开源的价值 欢迎关注我 近年来 随着移动智能设备的快速普及 移动多端统一开发框架已成为一个热门话题 这里为你整理了
  • Tomcat配置虚拟目录

    一 直接在Tomcat的目录中配置虚拟目录 可能会出现的错误 当你输入地址 http localhost 端口号 demo 时可能会出现404 此时 可修改conf文件夹下的web xml中找到如下所示代码 将红框内false改为true即
  • React基础第一天-jsx

    React 基础 整体介绍 内容介绍 React 概述 JSX React 组件基础 React 介绍 目标 了解react的基本概念 是什么 React 官网 React 中文网 React 官网新版尝鲜 React 是用于构建用户界面的
  • 一起学nRF51xx 13 - twi & iic

    前言 在IIC总线是PHILIPS公司推出的一种串行总线 IIC总线有2根信号线SCK 时钟线 和SDA 数据线 NRF51822中所谓的TWI总线跟IIC总线兼容 这里统称为IIC总线 IIC总线规定了不同类型的从机拥有不同的IICADR
  • 分享一个关于单片机利用定时器去卡中断操作的方法

    首先 我们知道 比如我们要去实现灯的一秒一次的亮灭 一开始想到的办法肯定是加延时啦 大多数人想的肯定是 OPEN LED DELAY MS 1000 CLOSE LED DELAY MS 1000 这种方法肯定可行啦 但是有没考虑一个后果
  • 内容管理系统——后台登录

    在课上 我通过 Laravel框架开发实践 一书学习了有关PHP的知识和应用 也通过书本上的 内容管理系统 案例实践并应用了所学的知识 下面将对这一案例中的后台登录模块进行介绍 目录 前言 一 创建用户表 二 显示登录页面 1 登录表单 2