Microsoft Word - Thinkphp5实现用户登录及注册功能.docx

Similar documents
5-1 nav css 5-2

關於本書 l 3 PhoneGap Appcelerator Titanium Sencha Touch (wrapper framework) Native App PhoneGap Build Native App Hybrid App Java Objective-C Android SDK

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

CH15.indd

Microsoft Word - PHP7Ch01.docx

互動網頁技術系列課程 HTML與CSS網站基礎設計 [12pt]

ii Vue Bootstrap 4 ES 6 Vue Vue Bootstrap 4 ES 6 Vue 2 vue html vue html vue Vue HTML 5 CSS ES 6 HTML 5 CSS Visual Studio Code h

《linux从入门到精通》实验指导第三讲:文件及目录操作

大漠 伪前端, 就职于淘宝

untitled

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

untitled

關於本書 Part 3 CSS XHTML Ajax Part 4 HTML 5 API JavaScript HTML 5 API Canvas API ( ) Video/Audio API ( ) Drag and Drop API ( ) Geolocation API ( ) Part 5

RUN_PC連載_8_.doc

Microsoft Word - 01.DOC

RUN_PC連載_10_.doc

Chapter V.S. PC

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2.

基于UML建模的管理管理信息系统项目案例导航——VB篇

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

考 試 日 期 :2016/04/24 教 室 名 稱 :602 電 腦 教 室 考 試 時 間 :09: 二 技 企 管 一 胡 宗 兒 中 文 輸 入 四 技 企 四 甲 林 姿 瑄 中 文 輸 入 二 技 企 管 一

ebook4-14

天仁期末個人報告1.PDF

第一章

13 根 据 各 种 网 络 商 务 信 息 对 不 同 用 户 所 产 生 的 使 用 效 用, 网 络 商 务 信 息 大 致 可 分 为 四 级, 其 中 占 比 重 最 大 的 是 ( A ) A 第 一 级 免 费 信 息 B 第 二 级 低 收 费 信 息 C 第 三 级 标 准 收 费

01

2015年全国射箭冠军赛.xls

ebook 96-16

标题

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

PowerPoint Presentation

目 录 一 重 要 提 示... 3 二 公 司 主 要 财 务 数 据 和 股 东 变 化... 3 三 重 要 事 项... 8 四 附 录 / 28

ebook

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

2

AL-M200 Series

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

实验 5:Python 连接 MySQL 数据库与动态网页开发 pymysql / 11

CAUTION RISK OF ELECTRIC SHOCK DO NOT OPEN 2

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

1. 2. Flex Adobe 3.

关于建立境内违法互联网站黑名单管理制度的通知

? 這 全 都 是 市 政 府 提 供 給 我 的 資 料 低 底 盤 公 車 計 畫 96 年 預 算 新 台 幣 4,500 萬 元 97 年 預 算 新 台 幣 1 億 6,500 萬 元 98 年 預 算 新 台 幣 3 億 2,300 萬 元, 共 有 307 台 低 底 盤 公 車,99

信 息 披 露 义 务 人 声 明 1 信 息 披 露 义 务 人 依 据 中 华 人 民 共 和 国 公 司 法 中 华 人 民 共 和 国 证 券 法 上 市 公 司 收 购 管 理 办 法 公 开 发 行 证 券 公 司 信 息 披 露 内 容 与 格 式 准 则 第 15 号 权 益 变 动

, (, ),,,,,, : : ( ), :,,,,,,, ( ), ( ),,,,,, ( ) ( ),, :!,,,,,,,,,,,,,,,,,,,,,,, [1 ] :,,,, :, ;, ( ),, :,,,,,,,,,,, 66

西交利物浦校园无线网络 使用手册 XJTLU Campus Wireless User Guide

IC-900W Wireless Pan & Tilt Wireless Pan & Tilt Remote Control / Night Vision FCC ID:RUJ-LR802UWG

FileMaker 15 WebDirect 指南

Perl

"+handlermethod.getbean().getclass().getname()); public void aftercompletion(httpservletrequest req, HttpServletResponse resp, Object handler, Excepti

安装 Nginx 命令 :yum install -y nginx 接着将 Nginx 设置为开机启动, 输入命令 :chkconfig nginx on Web 默认根目录为 :/usr/share/nginx/html/ 开放 80 端口 :iptables -I INPUT -p tcp --

Business Objects 5.1 Windows BusinessObjects 1

快 速 入 门 (Linux) 概 述 文 档 目 的 本 文 档 介 绍 了 如 何 快 速 创 建 Linux 系 统 实 例 远 程 连 接 实 例 部 署 环 境 等 旨 在 引 导 您 一 站 式 完 成 实 例 的 创 建 登 录 和 快 速 环 境 部 署 云 服 务 器 ECS 实

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探

目 錄 第 一 章 weberp 簡 介... 6 第 一 節 概 述... 6 第 二 節 安 全 性... 7 第 三 節 功 能... 7 一 銷 售 及 訂 單... 7 二 稅... 8 三 應 收 帳 款... 8 四 存 貨... 8 五 購 買... 9 六 應 付 帳 款... 9

像 客 样 使 命令行 徐 东

! 2000 CSSsprites.com Web FTP app 20% 80% getelementbyid() UI Facebook F8 Web CSSsprites.com Web JavaScript CSS React xi React UI UI 反應 UI 宣告 d

计算机网络实验说明

一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30

中国软件2013校园招聘通知

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

投影片 1

Transcription:

Thinkphp5 实现用户登录功能 移动平台应用软件开发课程建设小组北京大学软件与微电子学院 2018 年 11 月 15 日星期四 本文参考 https://www.kancloud.cn/phper123/tools/289763 整理 1 实验环境 操作系统 :CentOS7.2(64 位 ) 操作系统 腾讯云主机 :1 核 2G 内存 1M 带宽 宝塔 Linux 面板管理 :5.9 稳定版 2 安装配置 ThinkPHP5 运行环境 2.1 安装宝塔 Linux 面板 在 Linux 命令行窗口执行以下命令 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

输入 :y 开始安装 安装成功后, 提示宝塔登录地址以及用户名密码 请保存 之后也可以在宝 塔中修改用户名和密码

在浏览器中输入宝塔的访问地址, 并输入用户名和密码登录 示例 : Bt-Panel: http://154.8.229.242:8888 username: k7msqz1a password: b58c77e9 2.2 安装 LAMP(Apache+PHP+MySQL) 套件

点击一键安装后, 开始安装, 大概需要等待 10 分钟左右

2.3 创建基于 ThinkPHP5.0 框架的 Web 站点 在宝塔面板首页, 点击 宝塔一键部署源码 工具

在框架栏目中找到 ThinkPHP5.0, 点击 一键部署 在域名处填写主机的 IP 地址 ( 如果有自己的域名, 可以填写域名, 前提是需 要将域名解析到这个 IP)

成功部署后, 可以看到数据库的用户名和密码登信息 之后也可以通过宝塔 面板中的数据库菜单查看

在文件系统中创建了相应的工作目录 可以通过以下方式打开页面 方式一 :http://ip( 或域名 ) 方式二 :http://ip( 或域名 )/index.php/index/index/index 为了实现伪静态 ( 即通过 http://ip( 或域名 )/index/index/index) 访问, 需要对 站点进行相应的配置

站点默认伪静态配置如下 将站点的伪静态配置改为 thinkphp

这样可以通过 http://ip( 或域名 )/index/index/index 访问站点了

同时也可以通过方式一和方式二访问 开发阶段为了便于查看错误信息, 将调试模式打开

3 创建数据库及表 前面的步骤已经创建了数据库 可以通过 phpmyadmin 来管理数据库

创建 User 表 DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT ' 用户 id', `user_name` varchar(155) NOT NULL COMMENT ' 用户名 ', `user_pwd` varchar(50) NOT NULL COMMENT ' 用户密码 ', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 向 User 表插入一条记录 insert into users(`user_name`,`user_pwd`) value( 'admin', '21232f297a57a5a743894a0e4a801fc3');

修改数据库配置文件 4 开发用户登录功能 在 application\index\controller 下新建 Login.php

在 application\index\view 新建 login 文件夹, 并新建 index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title> 登录系统 </title> <link href="/static/bootstrap/css/bootstrap.min.css" rel="stylesheet"> </head> <body class="gray-bg"> <div class="container"> <div class="row"> <div class="col-sm-7"> <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="row"> <div class="col-sm-6 b-r"> <h3 class="m-t-none m-b"> 登录 </h3> <p> 欢迎登录本站 ( o )</p> <form role="form" action="{:url('login/dologin')}" method="post"> <div class="form-group"> <label> 用户名 </label> <input type="text" placeholder=" 请输入用户名 " class="formcontrol"> </div> <div class="form-group"> <label> 密码 </label> <input type="password" placeholder=" 请输入密码 "

class="form-control"> </div> <div> <button class="btn btn-sm btn-primary pull-right m-t-n-xs" type="submit"><strong> 登录 </strong> </button> </div> </form> </div> </div> </div> </div> </div> </div> </div> <script src="/static/js/jquery.min.js?v=2.1.4"></script> <script src="/static/bootstrap/js/bootstrap.min.js"></script> </body> </html> 访问 http://ip/index/login/index

在 Login.php 中新建 dologin 方法 // 处理登录逻辑 public function dologin() { $param = input('post.'); if(empty($param['user_name'])){ } $this->error(' 用户名不能为空 '); if(empty($param['user_pwd'])){ } $this->error(' 密码不能为空 '); // 验证用户名 $has = db('users')->where('user_name', $param['user_name'])->find(); if(empty($has)){ } $this->error(' 用户名密码错误 '); // 验证密码 if($has['user_pwd']!= md5($param['user_pwd'])){ } $this->error(' 用户名密码错误 ');

// 记录用户登录信息 cookie('user_id', $has['id'], 3600); // 一个小时有效期 cookie('user_name', $has['user_name'], 3600); } $this->redirect(url('index/index')); 打开登录页面, 输入用户名和密码

如果用户名或密码错误, 提示信息如下 如果输入正确的用户名密码,admin admin 跳转到十年磨一剑页面

登录成功之后跳转到 index.php 的 index 方法, 接下来将 index 方法修改一下 <?php namespace app\index\controller; class Index { public function index() { echo " 您好 : ". cookie('user_name'). ', <a href="'. url('login/loginout'). '"> 退出 </a>'; } } 这样, 登录成功后, 提示登陆成功

5 开发退出功能 Login.php 中添加 loginout 方法 : // 退出登录 public function loginout() { cookie('user_id', null); cookie('user_name', null); } $this->redirect(url('login/index'));

点击退出后, 跳转到登录页面 6 美化前端界面 使用前端框架 Bootstrap v3.3.7, 下载地址如下 https://github.com/twbs/bootstrap/releases/download/v3.3.7/bootstrap-3.3.7- dist.zip 下载完成之后, 放到 public\static 下改名为 bootstrap

Bootstrap 的所有 JavaScript 插件都依赖 jquery, 因此 jquery 必须在 Bootstrap 之 前引入 下载 jquery, 并放到 public\static\js 目录下

可以看到, 前面的代码也是通过这个路径访问样式文件及 js 美化后的效果如下 : 最终的目录结构如下 :