如何运用tp框架编写网站的无刷新登入
Posted 我是孙大圣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何运用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();
}
}
?>
以上是关于如何运用tp框架编写网站的无刷新登入的主要内容,如果未能解决你的问题,请参考以下文章
Ajax PHP JavaScript MySQL实现简易的无刷新在线聊天室
asp.netajax与jquery和bootstrap的无刷新完美实现