20)升级登录标志

(1)首先是升级登录标志:

      

      目录展示:

      

 

 

   然后是改动文件代码展示:

        AdminC.controller.class.php

      

 

    

 1 <?php
 2     /**
 3      * Created by PhpStorm.
 4      * User: Interact
 5      * Date: 2017/8/20
 6      * Time: 14:22
 7      */
 8    
 9 class AdminC extends  Controller {
10    
11     
12     public  function  login(){
13 //        require
14         require APPLICATION_PATH.'back/view/login.html';
15     }
16     /**
17      * 验证管理员是否合法
18      */
19     public function check() {
20 //       echo "MC天佑MC天佑MC天佑";
21 //        echo $_REQUEST['username'];
22         // 获得表单数据
23         /*echo $_REQUEST['username'];
24         echo '\n';
25         echo $_REQUEST['password'];*/
26         $temp='';
27        $admin_name = $_REQUEST['username'];
28         $admin_pass = $_REQUEST['password'];
29         $admin_name=addslashes($admin_name);
30         $admin_pass=addslashes($admin_pass);
31         $admin_captcha=$_REQUEST['captcha'];
32         //从数据库中验证管理员信息是否存在合法
33         $m_admin = Factory::M('AdminModel');
34         $Captcha=new Captcha();
35         
36        if(!$Captcha->checkCaptcha($admin_captcha)){
37             
38             $this->_jump('index.php?p=back&c=AdminC&a=login','验证码错误',3);
39         }else{
40             $temp='yes';
41         }
42      //用$admin_info来存储用户的所有新的,作为登录标志,这样就不是简陋的is_login了。
43         if (($admin_info=$m_admin->check($admin_name, $admin_pass))&&($temp==='yes')) {
44 //            //验证通过,合法
45 
46            session_start();
47 //            $_SESSION['is_login']='yes';//这是之前的
48             $_SESSION['admin']=$admin_info;
49             $this->_jump('index.php?p=back&c=BACkC&a=index');
50         } else {
51             // 非法
52 //            echo '非法, 提示,跳转到后台登陆页面index.php?p=back&c=Admin&a=login';
53             $this->_jump('index.php?p=back&c=AdminC&a=login','用户名或密码错误');
54         }
55 //
56     }
57     public  function captcha(){
58         //利用Captcha工具类
59         $t_captcha=new Captcha();
60         $t_captcha->generate();
61     }
62     /**
63      *
64      */
65 }

 

     

    BACKC.controller.class.php

      

 

 

 1 class BACKC extends Controller {
 2     /**
 3      * 后台首页
 4      */
 5     
 6     public  function index(){
 7         session_start();
 8 //由之前的$_SESSION['is_login']==='yes',改为下面的这样子
 9         if(isset($_SESSION['admin'])){
10             require APPLICATION_PATH.'back\view\back_main\index.html';
11         }
12     }
13 }

 

       

      AdminModel.controller.class.php

      

 1 <?php
 2     /**
 3      * Created by PhpStorm.
 4      * User: Interact
 5      * Date: 2017/8/21
 6      * Time: 8:39
 7      * 之前这里返回bool值,但是现在为了完善那个登录标志,就把返回值改为直接返回$row,其实row就是管理员的全部信息,这样,我们的登录信息存的就是管理员的信息了。
 8      * 之前的这个return (bool) $row;-------->改为return $row;
 9      */
10 class AdminModel extends Model{
11     /**
12      * @param $admin_name
13      * @param $admin_pass
14      *后台登录验证函数
15      * @return bool
16      */
17     public function check($admin_name, $admin_pass) {
18        $admin_name=$this->_dao->escapeString($admin_name);
19         $admin_pass=$this->_dao->escapeString($admin_pass);
20         $sql = "SELECT * FROM `admin` WHERE admin_name='$admin_name' and admin_pass=md5('$admin_pass')";
21         $row = $this->_dao->getRow($sql);
22         
23         return  $row;
24     }
25 }

 

 

   

posted @ 2017-08-22 10:52  小油菜1  阅读(297)  评论(0编辑  收藏  举报