2.8 注册
第 15 节 / 共 46 节
课程:ThinkPHP
注册的实质,就是在users表新增一条记录。
第一步,前端(网页)把邮箱、密码发送到后台
第二步,后台接收到邮箱、密码,往数据表users添加一条数据
这里涉及到一些细节,例如邮箱不能重复,那么就需要先查询一次数据库看是否存在,如果存在那么此邮箱不得注册,为了测试方便,把邮箱发送验证码这个步骤省略。

以下这个函数,已经在/public/js/woniunote.js里面
function doReg(e){ if(e != null && e.keyCode != 13){ return false; } //取得发过来的注册邮箱 regname=$.trim($("#regname").val()); //取得发过来的密码 regpass=$.trim($("#regpass").val()); //取得发过来的验证码 regcode=$.trim($("#regcode").val()); if( ! regname.match(/.+@.+\..+/)|| regpass.length < 5){ bootbox.alert({ title:"错误提示", message:"注册邮箱不正确或密码少于5位." }); return false; } else{ // 构建POST请求的正文数据 param="username="+regname; param+="&password="+regpass; param+="&ecode="+regcode; // 利用jQuery框架发送POST请求,并获取到后台注册接口的响应内容 $.post('/user', param, function(data){ if(data=="ecode-error"){ bootbox.alert({ title:"错误提示", message:"验证码无效." }); $("#regcode").val(''); // 清除验证码框的值 $("#regcode").focus(); // 让验证码框获取到焦点供用户输入 } else if(data=="up-invalid"){ bootbox.alert({ title:"错误提示", message:"用户名和密码不能少于5位." }); } else if(data=="user-repeated"){ bootbox.alert({ title:"错误提示", message:"该用户名已经被注册." }); $("#regname").focus(); } else if(data=="reg-pass"){ bootbox.alert({ title:"信息提示", message:"恭喜你,注册成功." }); // 注册成功后,延迟1秒钟重新刷新当前页面即可 setTimeout('location.reload();', 1000); } else if(data=="reg-fail"){ bootbox.alert({ title:"错误提示", message:"注册失败,请联系管理员." }); } }); }}1.发起请求
注册的按钮目前是没有任何反应的,和当初的登录一样,它没有把事件函数绑定,找到注册所在的代码:

<b>仿照登录调用doLogin的方式,注册按钮调用doReg</b>
从上面的DoReg函数可以看出,post方式把数据发送到/user
二,后台接收数据并处理
接下来要做的工作。
1.在Demo.php写一个函数register负责处理/user请求。记得在route/app.php里面绑定
2.register函数首先检查发过来的邮箱,看是否已经注册过,如果已经注册过,函数返回“user-repeated”,注册失败
3.如果上面检查通过,要在users表添加一行数据,参照登录的处理方式,可能需要在model/user.php里面添加新增一条记录的函数
4.注册成功,返回“reg-pass”,其他情况注册失败,返回“reg-fail”
《ThinkPHP》课程目录
介绍PHP框架ThinkPHP6
- 第1章 配置环境
- 1.1 第一个ThinkPHP8项目
- 1.2 Composer项目结构介绍
- 1.3 启动项目
- 1.4 ThinkPHP8项目的部署
- 1.5 idea教育版免费一年获取办法
- 第2章 基本特性
- 2.1 响应HTTP请求
- 2.2 响应html
- 2.3 登录-前端
- 2.4 登录-后台
- 2.5 数据库基本操作
- 2.6 模型支持
- 2.7 登录状态和session
- 2.8 注册
- 2.9 主页文章列表
- 2.10 单篇文章内容
- 2.11 完善文章页面
- 2.12 文件上传
- 第3章 实训
- 3.1 项目准备
- 3.2 登录
- 3.3 数据库登录和json规范返回
- 3.4 注册
- 3.5 查询课程
- 3.6 个人信息
- 3.7 修改昵称
- 3.8 *主页信息
- 3.9 统计
- 3.10 学习-侧边导航
- 3.11 *学习-右边内容
- 3.12 管理-课程
- 3.13 管理-班级
- 3.14 管理-班级-学生换班
- 3.15 管理-班级-查找学生
- 第4章 git代码管理
- 4.1 建立代码库
- 4.2 代码管理提交、推送和拉取
- 4.3 从云克隆代码
- 第5章 项目重构成spirngboot
- 5.1 项目技术介绍
- 5.2 创建一个ThinkPHP8项目
- 5.4 移入网页和PHP代码
- 5.5 模型和服务
- 5.7 测试
- 第6章 nginx