ThinkPHP3.2.3--登录与退出登录
一 登录
LoginController.class.php:
public function index(){
$admin=D("admin");//实例化数据库
if(IS_POST){
if($admin->create($_POST,4)){//验证输入的内容:用户名/密码/验证码
if($admin->login()){
$this->success("登录成功!跳转中...",U("Index/index"));//也可以直接跳转
}else{
$this->error("用户名或者密码不存在!");
}
}else{
$this->error($admin->getError());
}
return;
}
if(session("id")){
$this->error("您已经登录,请勿重复登录!",U("Index/index"));
}else{
$this->display();
}
}
AdminModel.class.php:
<?php
namespace AdminModel;
use ThinkModel;
class AdminModel extends Model {
protected $_validate = array(
array("username","require","管理员名称不得为空!",1,"regex",3), //默认情况下用正则进行验证
array("username","","管理员名称已存在!",1,"unique",3),
array("password","require","密码不得为空!",1,"regex",1),
//上面的是注册时验证
//下面的是登录时验证
array("username","require","管理员名称不得为空!",1,"regex",4),
array("password","require","密码不得为空!",1,"regex",4),
array("verify","check_verify","验证码错误!",1,"callback",4),
);
public function login(){
$password=$this->password;
$info=$this->where(array("username"=>$this->username))->find();
if($info){
if($info["password"]==md5($password)){
session("id",$info["id"]);
session("username",$info["username"]);
return true;
}
}else{
return false;
}
}
public function check_verify($code,$id=""){
$verify=new ThinkVerify();
return $verify->check($code,$id);
}
}
二 退出登录
public function logout(){
session(null);
$this->success("退出成功!跳转中...",U("Login/login"));
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
