如何运用tp框架编写网站的无刷新登入

为了方便,我们可以重新建立一个名为LoginController.class.php的控制器;其内容如下:

<?php
 namespace Admin\Controller;//设置命名空间
use Think\Controller;
class LoginController extends Controller{

public function index(){

//这是登入成功后跳转的界面,需要模板渲染,然后调用
$this->display();//渲染模板

}
public function login(){
$this->display();

//登入界面的
}

public function logindo(){//这个是登陆界面ajax提交的处理方法,

$username=$_POST[‘username‘];
$password=I(‘post.password‘,‘‘);
$verify=$_POST[‘verify‘];
$verif = new \Think\Verify();

//实例化tp框架里面的关于验证码验证的方法,

$data=array();//初始化数组
if(empty($username)||empty($password)||empty($verify)){

//二验证次前台提交过来的数据,保证安全
$data=array(
‘status‘=>1,
‘msg‘=>"信息不全"
);

}else{

if($verif->check($verify)){

//括号中是调用tp方法验证验证码是否正确,正确返回true,错误false,在正确是情况下才能进一步验证前台的用户名和密码是否正确

$inf=M("manager")->where(array(‘username‘=>$username,‘password‘=>$password))->find();

if(!$inf){
    $data[‘status‘]=2;
   $data["msg"]=‘用户名或密码错误‘;

}else{

$data[‘status‘]=3;
   $_SESSION["mamagername"]=$inf[‘username‘];

//设置session的值,为后台操作的前提,如果没有session,则先登入
  $_SESSION["id"]=$inf[‘uid‘];
  $_SESSION[‘a_time‘] = $inf[‘time‘];
  M(‘manager‘)->where(‘uid=‘ . $inf[‘uid‘])->save(array(‘time‘ => time()));

//把这次登入的时间戳保存到数据库中
  }

}else{

$data["msg"]="验证码错误";
}
}
$this->ajaxReturn($data);
}

public function loginout(){

session_destroy();
$this->redirect(‘Login/login‘);

}

public function verify(){
$config = array( ‘fontSize‘ => 70, // 验证码字体大小
‘length‘ => 3, // 验证码位数
‘useNoise‘ => false, // 关闭验证码杂点
);
$Verify = new \Think\Verify($config);
$Verify->entry();
}

}

?>

时间: 2024-10-13 20:53:22

如何运用tp框架编写网站的无刷新登入的相关文章

Java_Web三大框架之Hibernate+jsp+selvect+HQL登入验证

刚开始接触Hibernate有些举手无措,觉得配置信息太多.经过一个星期的适应,Hibernate比sql简单方便多了.下面做一下Hibernate+jsp+selvect+HQL登入验证. 第一步:编写用户实体类和配置用户Users2.hbm.xml映射. /* * 用户实体类 */ public class Users2 { private int id;//用户id private String name;//用户昵称 private String password;//用户密码 priv

tp框架视图层view——模板继承

在做网站的时候,每个网站都有头部和尾部,也就是菜单栏和页脚,网站的各个子网页的头部和尾部基本就是一样的,所以tp框架提供了一种模板继承的方法: 1.首先在View的Main文件夹下建立一个base.html页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

TP框架学习(二)

简单的增删改查 1 1.创建一个index.php文件 2 定义应用App目录名 3 导入窗口入口文件 4 开启调试模式//出现错误会报告出错的详细信息 5 define("APP_DEBUG",true);//上线时要关闭的 6 2.前端后台 7 App内Home复制一份,重命名Admin后台模块 8 如果有手机端可再复制一份Api模块 9 3.修改Admin/Controller/IndexController.class.php文件 10 namespace Admin\Cont

基于OpenGL ES 的深度学习框架编写

基于OpenGL ES的深度学习框架编写 背景与工程定位 背景 项目组基于深度学习实现了视频风格化和人像抠图的功能,但这是在PC/服务端上跑的,现在需要移植到移动端,因此需要一个移动端的深度学习的计算框架. 同类型的库 caffe-android-lib 目前应该是最便于集成使用的深度学习框架库. tensorflow和mxnet据说也有对应的android库,因时间原因暂未测试. CNNdroid,网址https://zhuanlan.zhihu.com/p/25259452,这个是用 ren

tp框架表单验证

之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证.验证的代码要写在模型层即Model里面. 数据验证有两种方式: 静态方式:在模型类里面通过$_validate属性定义验证规则.静态方式定义好以后其它地方都可以使用. 动态方式:使用模型类的validate方法动态创建自动验证规

PHP.51-TP框架商城应用实例-前台3-楼层推荐、TP框架雪崩问题

楼层推荐 效果图 1.增加表字段 商品表   分类表 2.修改商品模型和分类模型接收字段is_floor 3.修改商品和分类相关的表单 4.后台制作推荐方法 4.1在分类模型中增加获取前台楼层数据的方法 /****** 获取前台首页楼层中的数据 ***********/ public function floorData() { $floorData = S('floorData'); if($floorData) return $floorData; else { // 先取出推荐到楼层的顶级

tp框架---View视图层---模板继承(举例说明)

当我们做动态页面时,我们会发现一个网站的头部和尾部是相同的,那么我们如何用tp框架来做模板呢 ? 先看一下注意事项: (1)每个区块由<block></block>标签组成 (2)子模板中使用extend标签继承模板 (3)注释语法:{/* 注释内容 */ } 或 {// 注释内容 }  一.看一下基本的模板继承 (1)先做出模板页面  Ceshi/View/Main/base.html <!DOCTYPE html> <html> <head>

tp框架表单验证 及ajax

之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证.验证的代码要写在模型层即Model里面. 数据验证有两种方式: 静态方式:在模型类里面通过$_validate属性定义验证规则.静态方式定义好以后其它地方都可以使用. 动态方式:使用模型类的validate方法动态创建自动验证规

TP框架的MVC模式

一.定义 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被独特的发展起来用于映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结构中. 二.含义 M:Model 数据模型层,负责数据操作 V:View 视图层,负责显示视图 C:Cont