茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    CI框架實(shí)現(xiàn)cookie登陸的方法詳解
    來源:易賢網(wǎng) 閱讀:1296 次 日期:2016-08-22 14:25:40
    溫馨提示:易賢網(wǎng)小編為您整理了“CI框架實(shí)現(xiàn)cookie登陸的方法詳解”,方便廣大網(wǎng)友查閱!

    本文實(shí)例講述了CI框架實(shí)現(xiàn)cookie登陸的方法。分享給大家供大家參考,具體如下:

    第一步:login.php

    //登陸方法

     public function login(){

      //如果用戶名和密碼為空,則返回登陸頁面

      if(empty($_POST['username']) || empty($_POST['password'])){

       $data['verifycode'] = rand(1000,9999);//生成一個四位數(shù)字的驗(yàn)證碼

       //將驗(yàn)證碼放入session中,注意:參數(shù)是數(shù)組的格式

       $this->session->set_userdata($data);

       //注意:CI框架默認(rèn)模板引擎解析的模板文件中變量不需要$符號

       //$this->parser->parse("admin/login",$data);

       //smarty模板變量賦值

       $this->tp->assign("verifycode",$data['verifycode']);

       //ci框架在模板文件中使用原生態(tài)的PHP語法輸出數(shù)據(jù)

       //$this->load->view('login',$data);//登陸頁面,注意:參數(shù)2需要以數(shù)組的形式出現(xiàn)

       //顯示smarty模板引擎設(shè)定的模板文件

       $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']):'';//驗(yàn)證碼

       //做驗(yàn)證碼的校驗(yàn)

       if($verifycode == $this->session->userdata('verifycode')){

        //根據(jù)用戶名及密碼獲取用戶信息,注意:參數(shù)2是加密的密碼

        $user_info=$this->user_model->check_user_login($username,md5($password));

        if($user_info['user_id'] > 0){

         //將用戶id、username、password放入cookie中

         //第一種設(shè)置cookie的方式:采用php原生態(tài)的方法設(shè)置的cookie的值

         //setcookie("user_id",$user_info['user_id'],86500);

         //setcookie("username",$user_info['username'],86500);

         //setcookie("password",$user_info['password'],86500);

         //echo $_COOKIE['username'];

         //第二種設(shè)置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值

         //第三種設(shè)置cookie的方式:通過CI框架的cookie_helper.php函數(shù)庫文件

         //這種方式不是很靈驗(yàn),建議大家采取第二種方式即可

         //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);

         //跳轉(zhuǎn)到指定頁面

         //注意:site_url()與base_url()的區(qū)別,前者帶index.php,后者不帶index.php

         header("location:".site_url("index/index"));

        }

       }else{

        //跳轉(zhuǎn)到登陸頁面

        header("location:".site_url("common/login"));

       }

      }

     }

    }

    第二步:User_model.php

    //cookie登陸:檢測用戶是否登陸,如果cookie值失效,則返回false,如果cookie值未失效,則根據(jù)cookie中的用戶名和密碼從數(shù)據(jù)庫中獲取用戶信息,如果能獲取到用戶信息,則返回查詢到的用戶信息,如果沒有查詢到用戶信息,則返回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;

     }

     //根據(jù)用戶名及加密密碼從數(shù)據(jù)庫中獲取用戶信息,如果能獲取到,則返回獲取到的用戶信息,否則返回false,注意:密碼為加密密碼

     public function check_user_login($username,$password){

      //這里大家要注意:$password為md5加密后的密碼

      //$this->db->query("select * from ");

      //快捷查詢類的使用:能為我們提供快速獲取數(shù)據(jù)的方法

      //此數(shù)組為查詢條件

      //注意:關(guān)聯(lián)數(shù)組

      $arr=array(

       'username'=>$username,//用戶名

       'password'=>$password,//加密密碼

       'status'=>1   //賬戶為開啟狀態(tài)

      );

      //在database.php文件中已經(jīng)設(shè)置了數(shù)據(jù)表的前綴,所以此時數(shù)據(jù)表無需帶前綴

      $query = $this->db->get_where("users",$arr);

      //返回二維數(shù)組

      //$data=$query->result_array();

      //返回一維數(shù)組

      $user_info=$query->row_array();

      if(!empty($user_info)){

       return $user_info;

      }else{

       return false;

      }

    }

    第三步:其它控制器:

    public function __construct(){

      //調(diào)用父類的構(gòu)造函數(shù)

      parent::__construct();

      $this->load->library('tp'); //smarty模板解析類

      $this->load->helper('url'); //url函數(shù)庫文件

      $this->load->model("user_model");//User_model模型類實(shí)例化對象

      $this->cur_user=$this->user_model->is_login();

      if($this->cur_user === false){

       header("location:".site_url("common/login"));

      }else{

       //如果已經(jīng)登陸,則重新設(shè)置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框架的PHP程序設(shè)計有所幫助。

    更多信息請查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機(jī)網(wǎng)站地址:CI框架實(shí)現(xiàn)cookie登陸的方法詳解
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報班

    • 報班類型
    • 姓名
    • 手機(jī)號
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報警專用圖標(biāo)