首页 > 技术文章 > thinkphp验证是否登录并跳转

qhorse 2016-05-19 17:22 原文

CommonController.class.php

<?php
namespace Admin\Controller;
use Think\Controller;
class CommonController extends Controller {
  //初始化
  public function _initialize(){
    $uid = session('uid');    
       //验证控制器名和方法名
    if(empty($uid) && ('Index' != CONTROLLER_NAME || !in_array(ACTION_NAME,array('mian','login','ajaxGetAdminInfo')))){
      $this->redirect("/Index/login");
    }
  }

  public function _empty(){
    $this->error('工程师正在维护,请稍后!!!');
  }
}

 IndexController.class.php 

<?php
namespace Admin\Controller;
use Home\Controller\CommonController;

class IndexController extends CommonController {

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

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

  //ajax验证登录
  public function ajaxGetAdminInfo(){
    $username = strtolower(I('username','','strip_tags'));
    $password = strtolower(I('password','','strip_tags'));
    $adminM = M('admin');
    $map['username'] = $username;
    $admin = $adminM->where($map)->find();
    if(!empty($admin)){
      $password = md5(md5($password).C('CIPHERTEXT'));
      if($admin['password'] == $password){
        session('uid',$admin['uid']);
        session('username',$username);
        $this->ajaxReturn(array('flag'=>'success','message'=>'确认成功'));
      } else {
        $this->ajaxReturn(array('flag'=>'error','message'=>'密码不正确'));
      }
    } else {
      $this->ajaxReturn(array('flag'=>'error','message'=>'账号不存在'));
  }

  public function logout(){
    session("uid","");
    $this->success('退出成功',U('Index/login'));
  }

}
 
html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>login-Admin</title>
<script src="__JS__/jquery-2.1.4.min.js"></script>
</head>
<body>

  <form action="" method="post" name="loginForm">
    账号:<br>
    <input type="text" name="username" class="username" ><br>
    <span class="user"></span>
    <br>
    密码:<br>
    <input type="password" name="password" class="password"> <br>
    <span class="pass"></span>
    <br><br>
    <input type="button" value="登录" onclick="checkData()">
  </form>

<br><br>
<script>
  function checkData(){
    var username = $('.username').val();
    var password = $('.password').val();
    if(username == ""){
      $('.user').text("请填写账号");
      return false;
    }
    if(password == ""){
      $('.pass').text("请填写密码");
      return false;
    }

    var url = '__APP__/Index/ajaxGetAdminInfo';
    var data = {'username':username,'password':password};
    $.post(url,data,function(result){
      if(result.flag == 'success'){
        setTimeout("location.reload()",2000); 
        location.href="__APP__/Index/mian";
      } else {
        if(result.message == '账号不存在'){
          $('.user').text("账号不存在");
          return false;
        } else {
          $('.user').text("账号或密码错误");
          return false;
        }    
      }
    });    
}
</script>
</body>
</html>

 

推荐阅读