使用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. 压缩工具gzip、bzip2、xz的使用

    2019独角兽企业重金招聘Python工程师标准>>> 本文使用 为了要压缩 常见压缩格式 压缩工具 gzip压缩工具 bz2压缩工具 xz压缩工具 为什么要压缩 为什么要压缩?文件 ...

  2. TCP 3-Way Handshake

    TCP是面向连接的协议,其数据传输过程分为建立连接.数据传送.释放连接三个阶段. 0 建立连接 建立连接的过程也就是常说的"三次握手": 客户端向服务器端发送一个SYN报文(SYN ...

  3. Codeforce 140C (贪心+优先队列)补题

    C. New Year Snowmen time limit per test2 seconds memory limit per test256 megabytes inputstandard in ...

  4. The 2019 Asia Nanchang First Round Online Programming Contest B Fire-Fighting Hero(阅读理解)

    This is an era of team success, but also an era of heroes. Throughout the ages, there have been nume ...

  5. PyCharm 集成 SVN,检出、提交代码

    1.安装 SVN,解决 SVN 目录中没有 svn.exe 问题 重新打开 TortoiseSVN 安装文件 选择 Modify 后在command line client tools 选项修改为 W ...

  6. MySQL 入门(2):索引

    摘要 在这篇文章中,我会先介绍一下什么是索引,索引有什么作用. 之后会介绍一下索引的数据结构是什么样的,有什么优点,又会带来什么样的问题. 在分析完数据结构后,我们可以根据这个数据结构,研究索引的用法 ...

  7. C - Ordering Pizza CodeForces - 867C 贪心 经典

    C - Ordering Pizza CodeForces - 867C C - Ordering Pizza 这个是最难的,一个贪心,很经典,但是我不会,早训结束看了题解才知道怎么贪心的. 这个是先 ...

  8. JAVA设计模式之组合模式(composite)

    组合模式:树状结构专用模式 代码如下: package com.srr.dp.composite; import java.util.ArrayList; import java.util.List; ...

  9. 201771010113 李婷华 《面向java对象程序设计(Java)》第四章学习总结

    一. 理论知识部分 第四章 对象与类 本章主要讲述面向对象程序设计.如何创建标准Java类库中的类对象.如何编写自己的类. 1.面向对象程序设计的几个主要概念: 抽象数据类型.类和对象.封装.类层次( ...

  10. LeetCode--To Lower Case && Remove Outermost Parentheses (Easy)

    709. To Lower Case(Easy)# Implement function ToLowerCase() that has a string parameter str, and retu ...