CI 프레임 워 크 가 쿠키 로그 인 을 실현 하 는 방법 에 대한 상세 한 설명

본 고 는 CI 프레임 워 크 가 쿠키 로그 인 을 실현 하 는 방법 을 실례 로 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
STEP 1:login.php

//    
 public function login(){
  //          ,       
  if(empty($_POST['username']) || empty($_POST['password'])){
   $data['verifycode'] = rand(1000,9999);//            
   //      session ,  :        
   $this->session->set_userdata($data);
   //  :CI                     $  
   //$this->parser->parse("admin/login",$data);
   //smarty      
   $this->tp->assign("verifycode",$data['verifycode']);
   //ci              PHP      
   //$this->load->view('login',$data);//    ,  :  2          
   //  smarty           
   $this->tp->display("admin/login.php");
  }else{
   $username = isset($_POST['username'])&&!empty($_POST['username'])?trim($_POST['username']):'';//   
   $password = isset($_POST['password'])&&!empty($_POST['password'])?trim($_POST['password']):'';//  
   $verifycode = isset($_POST['verifycode'])&&!empty($_POST['verifycode'])?trim($_POST['verifycode']):'';//   
   //       
   if($verifycode == $this->session->userdata('verifycode')){
    //              ,  :  2      
    $user_info=$this->user_model->check_user_login($username,md5($password));
    if($user_info['user_id'] > 0){
     //   id、username、password  cookie 
     //     cookie   :  php         cookie  
     //setcookie("user_id",$user_info['user_id'],86500);
     //setcookie("username",$user_info['username'],86500);
     //setcookie("password",$user_info['password'],86500);
     //echo $_COOKIE['username'];
     //     cookie   :  CI   input  
     $this->input->set_cookie("username",$user_info['username'],3600);
     $this->input->set_cookie("password",$user_info['password'],3600);
     $this->input->set_cookie("user_id",$user_info['user_id'],3600);
     //echo $this->input->cookie("password");//      
     //echo $this->input->cookie("username");//      
     //echo $_COOKIE['username'];//               cookie 
     //echo $_COOKIE['password'];//               cookie 
     //     cookie   :  CI   cookie_helper.php     
     //         ,             
     //set_cookie("username",$user_info['username'],3600);
     //echo get_cookie("username");
     //session     :       id  session 
     //$data['username']=$user_info['username'];
     //$data['user_id']=$user_info['user_id'];
     //$this->session->set_userdata($data);
     //       
     //  :site_url() base_url()   ,   index.php,    index.php
     header("location:".site_url("index/index"));
    }
   }else{
    //       
    header("location:".site_url("common/login"));
   }
  }
 }
}

STEP 2:Usermodel.php

//cookie  :        ,  cookie   ,   false,  cookie    ,   cookie                   ,          ,           ,           ,   0
 public function is_login(){
  //  cookie   
  if(empty($_COOKIE['username']) || empty($_COOKIE['password'])){
   $user_info = false;
  }else{
   $user_info=$this->check_user_login($_COOKIE['username'],$_COOKIE['password']);
  }
  return $user_info;
 }
 //                     ,      ,           ,    false,  :       
 public function check_user_login($username,$password){
  //       :$password md5      
  //$this->db->query("select * from ");
  //        :               
  //        
  //  :    
  $arr=array(
   'username'=>$username,//   
   'password'=>$password,//    
   'status'=>1   //       
  );
  // database.php              ,            
  $query = $this->db->get_where("users",$arr);
  //      
  //$data=$query->result_array();
  //      
  $user_info=$query->row_array();
  if(!empty($user_info)){
   return $user_info;
  }else{
   return false;
  }
}

세 번 째 단계:다른 컨트롤 러:

public function __construct(){
  //         
  parent::__construct();
  $this->load->library('tp'); //smarty     
  $this->load->helper('url'); //url     
  $this->load->model("user_model");//User_model        
  $this->cur_user=$this->user_model->is_login();
  if($this->cur_user === false){
   header("location:".site_url("common/login"));
  }else{
   //      ,     cookie    
   $this->input->set_cookie("username",$this->cur_user['username'],3600);
   $this->input->set_cookie("password",$this->cur_user['password'],3600);
   $this->input->set_cookie("user_id",$this->cur_user['user_id'],3600);
  }
  $this->load->library('pagination');//    
  $this->load->model("role_model");//member_model   
  $this->load->model("operation_model");//  operation_model  
  $this->load->model("object_model");//  object_model  
  $this->load->model("permission_model");//  permission_model  
}

더 많은 CodeIgniter 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,,,,,,,,codeigniter 입문 강좌,CI(CodeIgniter)프레임 워 크 진급 강좌
본 고 에서 말 한 것 이 여러분 이 CodeIgniter 프레임 워 크 를 바탕 으로 하 는 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기