//注册
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. Mysql的分区表

    概论: 分区表一般用作Mysql库表的水平切割(也就是常说的mysql性能优化的几种通用手法"读写分离.分库分表"中的一种),适用于单表的数据量可能很大的场景.因为分区表可以将一个 ...

  2. 让div占据父元素剩下的所有位置

    场景模拟: 现在有一个父容器,里面有俩个div,左边的要给一个固定的200px的宽度,父容器剩下的宽度都归右边的div该怎么完成?HTML代码: <div class="wrap&qu ...

  3. lwm2m 协议

    1.DTLS介绍 1.1 DTLS的作用 互联网先驱们最开始在设计互联网协议时主要考虑的是可用性,安全性是没有考虑在其中的,所以传输层的TCP.UDP协议本身都不具备安全性.SSL/TLS协议是基于T ...

  4. jvm系列(六):jvm调优-工具篇

    ## jdk自带的工具### jconsole Jconsole(Java Monitoring and Management Console)是从java5开始,在JDK中自带的java监控和管理控 ...

  5. JDBC中的元数据——3.结果集元数据

    package metadata; import java.sql.Connection; import java.sql.ParameterMetaData; import java.sql.Pre ...

  6. 记一次 .NET 某流媒体独角兽 API 句柄泄漏分析

    一:背景 1. 讲故事 上上周有位朋友找到我,说他的程序CPU和句柄都在不断的增长,无回头趋势,查了好些天也没什么进展,特加wx寻求帮助,截图如下: 看的出来这位朋友也是非常郁闷,出问题还出两个,气人 ...

  7. 判断宽度的js

    <script language="javascript" type="text/javascript">/*将获取的值存到变量里*/width_s ...

  8. seo高手教你seo优化排名该怎么做

    seo高手教你seo优化排名该怎么做 第一节:如何在本地搭建服务器环境 本节课程主要是讲如何利用 Xampp在本地搭建服务器环境 .网站使用asp和php比较常见,当然,就目前而言,使用php搭建网站 ...

  9. thrift的介绍及其使用

    什么是thrift Thrift是Facebook于2007年开发的跨语言的rpc服框架,提供多语言的编译功能,并提供多种服务器工作模式:用户通过Thrift的IDL(接口定义语言)来描述接口函数及数 ...

  10. Excel vba call Python script on Mac

    How can I launch an external python process from Excel 365 VBA on OSX? It took me a while, but I fig ...