thinkphp验证是否登录并跳转

本文介绍了一个基于PHP的管理员登录系统,包括登录验证、密码校验和会话管理等功能。系统通过Controller类实现了初始化、空操作、登录、注册、登出等关键功能。
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>

 

转载于:https://www.cnblogs.com/qhorse/p/5509431.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值