使用mvc,ajax

路由

//后台登陆
Route::group('admin', function () {
Route::rule('login', 'admin/Index/login');
//注册
Route::rule('reg', 'admin/Index/reg');
});

ajax

                $.ajax({
url: '{:url("admin/index/reg")}',
type: 'post',
data: $('form').serialize(),
dataType: 'json',
success: function (res) {
if (res.code == 1) {
// console.log(11);
layer.msg(res.msg, {
iocn: 6,
time: 2000
}, function () {
location.href = res.url;
})
} else {
layer.msg(res.msg, {
iocn: 6,
time: 2000
})
}
}
})

控制器

 public function reg()
{
if (request()->isAjax()) {
$data = [
'username' => input('post.username'),
'pwd' => input('post.pwd'),
'nickname' => input('post.nickname'),
'email' => input('post.email')
];
$res = model('Users')->reg($data);
if ($res == 1) {
$this->success('注册成功', 'admin/index/login');
} else {
$this->error('失败!');
}
};
return view('reg');
}

模型

<?php

namespace app\common\model;

use think\Model;
use traits\model\SoftDelete; class Users extends Model
{
//软删除
use SoftDelete; //注册测试
public function reg($data)
{
//创建验证器
$val = new \app\common\valid\Admin();
if (!$val->scene('reg')->check($data)) {
return $val->getError();
}
$res = $this->save($data);
if ($res) {
return 1;
} else {
return '注册失败';
}
}
}

验证器

<?php

namespace app\common\valid;

use think\Validate;

class Admin extends Validate
{
protected $rule = [
'username' => 'require',
'pwd' => 'require',
'nickname' => 'require',
'email' => 'require|email',
]; //登陆验证场景
public function login()
{
return $this->only(['username', 'pwd']);
}
//注册场景
public function sceneReg()
{
return $this->only(['username', 'pwd', 'nickname', 'email']);
}
//验证提示
protected $message = [
'username.unique' => '栏目名称不能重复',
'username.require' => '用户名必须',
'pwd.require' => '密码必须',
];
}

【项目练习】thinkphp用户注册的更多相关文章

  1. thinkphp 用户注册功能

    UserActiion.class.php页面: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 ...

  2. thinkphp 项目分组 -开发随笔1

    php中变量的声明, 和变量的初始化 是结合在一起的, 要声明变量, 就是通过初始化变量来实现的. 感觉页面版式的布局, 还是: 先大致规划出布局, 如两栏 三栏, 一览的左右上下结合, 搭配. 然后 ...

  3. 4个项目带你学习ThinkPHP

    ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架,这里分享4个项目教程,带你掌握ThinkPHP,并能够在实践开发中应用. ThinkPHP框架实践 这个教程从ThinkPHP的入门 ...

  4. thinkphp介绍

    1.thinkphp是一个免费的开源的轻量级的高效的国产的php框架 2.现在主流的框架有:   zend framwork 框架,功能十分齐全,是php官网开发的一个框架   yii框架 十分轻巧的 ...

  5. thinkphp 杂乱笔记(1)

    部署模式可用两个单入口表示前后台thinkphpUploadspublic Home(前台)Admin(后台)index.php(前台入口文件)admin.php(后台入口文件)上面两个项目目录 也可 ...

  6. ThinkPHP使用分组详细介绍(十七)

    原文:ThinkPHP使用分组详细介绍(十七) 使用分组(模块分组) *就是将多个项目合并到一个项目/应用去(就是Home.Admin) ---分组不分组看自己的建立项目习惯,个人习惯用根目录配置生成 ...

  7. Thinkphp框架部署步骤

    Thinkphp框架部署步骤 thinkphp框架部署起来简单,但是由于步骤较多也容易遗忘: 这是安装了集成环境后的一个www根目录结构: 然后需要在这个目录下面创建一个文件夹做项目:thinkphp ...

  8. Django学习笔记(9)—— 开发用户注册与登录系统

    一,项目题目: 开发用户注册与登录系统 该项目主要练习使用Django开发一个用户注册与登录的系统,通过这个项目然后巩固自己这段时间所学习的Django知识. 二,项目需求: 开发一个简单的用户登录与 ...

  9. ThinkPHP 3.2 DEMO案例系列【phpmailer批量发送邮件】

    但是邮件和短信相比在一些场景依然有着重要的意义和优势: 1:零成本:发邮件没有费用: 2:内容丰富且量大:邮件可以长篇大论:图文并茂: 3:增加访问量:用户很容易通过邮件中的链接访问网站: 好了:下面 ...

随机推荐

  1. C++编程入门题目--No.4

    题目: 输入某年某月某日,判断这一天是这一年的第几天? 程序分析: 以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天. #incl ...

  2. 2019.06.18训练日记(赞FLS)

    之前打了几场比赛,有很多题没做出来,这些题无论是知识点不会,还是说在当时时间和思路的影响下没有做出来,这都应该做出来,至少现在必须做出来,本来打算专心复习,分数高了,好保研,但是想了想如果局限于只把学 ...

  3. css属性、样式、边框、选择器

    CSS 层叠样式表 (Cascading Style Sheets,缩写为 CSS),是一种 样式表 语言, 用来描述 HTML或 XML(包括如 SVG.MathML.XHTML 之类的 XML 分 ...

  4. MYSQL数据库配置安装、重置密码以及工具连接

    一.下载mysql安装包 下载地址:https://dev.mysql.com/downloads/mysql/ 下载解压好之后,就是一个文件夹的形式. 二.配置环境变量 环境变量的配置,就是把MyS ...

  5. 搜索+简单dp

    前言:即使是简单的递归,在复杂度过高时也可以使用简单的dp. 一般有两种情况,一是利用dp思想求最优子结构进行搜索剪枝,二是利用搜索进行dp数组的填充. 例题一.hdu1978 题目大意:这是一个简单 ...

  6. C. Jury Marks 思维

    C. Jury Marks 这个题目虽然是只有1600,但是还是挺思维的. 有点难想. 应该可以比较快的推出的是这个肯定和前缀和有关, x x+a1 x+a1+a2 x+a1+a2+a3... x+s ...

  7. H - Food HDU - 4292 网络流

    题目   You, a part-time dining service worker in your college’s dining hall, are now confused with a n ...

  8. spring内嵌jetty容器,实现main方法启动web项目

    Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开发人员可以将 ...

  9. mac安装vue-devtools

    mac安装vue devtools 1.到github下载vue tool 的压缩包 正常的方法:git clone https://github.com/vuejs/vue-devtools 但事实 ...

  10. 【T-SQL】基础——操作

    --删除表 如果已经存在USE master--检查是否已经存在一个表,如果有就删除IF(EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TA ...