create($_POST,4)){//验证输入的内容" />
牛骨文教育服务平台(让学习变的简单)
博文笔记

ThinkPHP3.2.3--登录与退出登录

创建时间:2017-05-15 投稿人: 浏览次数:568

一 登录

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"));
    }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。