如何运用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的无刷新完美实现

php的无刷新实现方法

ajax的无刷新文件下载

DJANGO和UIKIT结合,作一个有进度条的无刷新上传功能

利用fastjson解析json并通过js&ajax实现页面的无跳转刷新