//注册
public function register(){
if(IS_POST){
//接收数据
$data = I('post.');
$model = D('User');
$data['username'] = $data['email'] ? $data['email'] : $data['phone'];
//使用模型的create方法自动创建数据集,会自动实现自动验证等功能
if(!$model -> create($data)){
//检测失败
$error = $model -> getError();
$this -> error($error);
}
$res = $model -> add();
if($res){
//注册成功
$this -> success("注册成功", U("Home/User/login"));
}else{
$this -> errro('注册失败');
}
}else{
//临时关闭模板布局
layout(false);
$this -> display();
}

}

//登录
public function login(){
if(IS_POST){
//接收数据
$data = I('post.');
//字段检测
if(!$data['username'] || !$data['password']){
$this -> error('用户名和密码不能为空');
}
$username = $data['username'];
//根据用户名查询数据库
$user = M('User') -> where("username = '{$username}' or phone='{$username}' or email='{$username}'") -> find();
//验证密码
if($user && $user['password'] == encrypt_password($data['password'])){
//登录成功
$this -> success('登录成功', $back_url);
}else{
$this -> error('登录失败');
}
}else{
//临时关闭模板布局
layout(false);
//优化,判断是否已登录,已登录则跳转到首页
if(session('?user_info')){
$this -> redirect('Home/Index/index');
}
$this -> display();
}

}

//退出
public function logout(){
session(null);
$this -> redirect('Home/Index/index');
}
}

TP框架 商城前台用户注册方法的更多相关文章

  1. 待续未完- 自己写后台内容管理程序 - 用tp框架 和 前台 jquery ui等写的

    在日常开发中,我们主要使用的还是 php 的 内部的 语言本身提供的函数/常量,系统内部数组等. 为了和后面的tp框架提供的 "系统函数.系统常量"相区别,把php提供的东西叫语言 ...

  2. TP框架控制器和对应方法创建

    控制器和对应方法创建 控制器是MVC模式中的核心,TP默认有一个控制器:   Index控制器里面有一个操作方法:Index   我们在访问http://localhost:8080/Thinkphp ...

  3. 第一零三天上课 PHP TP框架下控制器的方法分离

    (1)配置信息 修改配置文件->Config.php (配置后,原先的控制方法无效) 'ACTION_BIND_CLASS' => TRUE, // 控制器方法分离 (2)在Control ...

  4. TP框架中的多种方法代码(C,G,L,T,I,N,D,M,A,R,B,U,W,S,F,E)

    C方法 function C($name=null, $value=null,$default=null) { static $_config = array(); // 无参数时获取所有 if (e ...

  5. tp框架基础控制器调用方法

    public function indd(){ //调用该控制器下的某个方法 $this ->index(); //跨控制器调用 $k = A("index");// 创建控 ...

  6. TP框架修改后台路径方法

      直接映射 admin 后台修改路径为 myadmin888       文章来源:外星人来地球 欢迎关注,有问题一起学习欢迎留言.评论

  7. TP框架ajax U方法不解析怎么办?

    TP框架中ajax U方法不解析 ajax U方法不解析 ajax url不解析 问题: 造成问题原因: Js 存在单独的 js文件中和html分离了.造成不解析! 解决方法: 方法一:将js放到ht ...

  8. tp框架的增删改查

    首先,我们来看一下tp框架里面的查询方法: 查询有很多种,代码如下: <?php namespace Admin\Controller; use Think\Controller; class ...

  9. tp框架基础知识

    作者:黄力军 index.php入口文件:作用,所有tp框架里的内容要想访问文件.都要走index.php文件他是整个程序的入口 Application代表应用程序的目录   所有写的应用程序放这里 ...

随机推荐

  1. OpenCV 之 自定义滤波

    图像处理中,"空间域" 指的是图像平面,因此,空间滤波 可定义为:在图像平面内对像素灰度值进行的滤波 1  空间滤波 1.1  滤波过程 如图,Filter 是一个 3x3 滤波核 ...

  2. Java实现WebSocket服务

    一.使用Tomcat提供的WebSocket库  Java可以使用Tomcat提供的WebSocket库接口实现WebSocket服务,代码编写也非常的简单.现在的H5联网游戏基本上都是使用WebSo ...

  3. js随机显示图片

    定义一个图片数组,生成一个随机数对应数据索引. window.onload = choosePic; function choosePic() { var myPix = new Array(&quo ...

  4. AECC2018同时中英文切换多开使用,加倍提高你的工作效率

    最近相信不少人已经更新了AECC2018,升级之后第一件重要的事当然是中英文的切换了,要不然工作中很麻烦.对于一直习惯用中文的人来说,在用模板过程中会出现各种表达式报错极其不方便,而对于习惯英文操作朋 ...

  5. qt 中的画图

  6. 【SOE】 ArcGIS Server对象扩展(SOE)开发注意事项

    ArcGIS  Server对象扩展(SOE)开发注意事项 1.SOE介绍 在ArcGIS 10.1中ArcGIS Server不在支持DCOM方式的连接,这也就意味着我们不能通过本地方式的连接使用A ...

  7. Hibernate之关联关系

    时间:2017-1-20 16:28 --一对多配置1.第一步:创建实体类    *   客户实体    *   订单实体    示例代码:        /**          * 客户实体    ...

  8. Windows搭建mac黑苹果系统

    最近看到一个开源工具tidevice,是可以脱离mac来做ios自动化测试的.看到这么方便,就想着来尝尝鲜.但由于使用该工具,是需要基于WebDriverAgent的,该工具又需要使用Xcode重签名 ...

  9. Java 中 常用API概述之 Math, Object, String,StringBuffer类,Arrays,Integer类

    Math Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数. 与StrictMath类的一些数字方法不同,Math类的StrictMath所有Math都没有定义为返回比特位相同 ...

  10. 读vue-cli3 官方文档的一些学习记录

    原来一直以为vue@cli3 就是创建模板的工具,读了官方文档才知道原来这么有用,不少配置让我长见识了 Prefetch 懒加载配置 懒加载相信大家都是知道的,使用Import() 语法就可以在需要的 ...