簡體   English   中英

在代碼點火器中的會話

[英]Session in Code Igniter

我想問這個問題,我們如何才能在代碼登錄器中特別是在登錄和注銷帳戶時進行會話。 我想逐步了解代碼點火器的MVC。

在執行查詢后的登錄時,在set_userdata函數中設置會話數據並傳遞要設置的數據數組。

$ this-> session-> set_userdata('這里的會話數據');

在注銷時,您必須調用unset_userdata函數並傳遞必須在登錄時設置的數組whos的數組。

$ this-> session-> unset_userdata('這里的會話數據');

以我的代碼為例,您可以執行此操作,我有一個名為iris.php的控制器和一個名為script.php的模型。 我使用虹膜來調用並利用腳本模型。

    class Iris extends CI_Controller {
function __construct(){
parent::__construct();
    $this->load->model('script');
    $this->load->model('alert');
}
public function index()
{ $this->load->view('index');
}
 public function login_in()
{
    $login = $this->script->check_login();
    if($login->num_rows() == 1){
      foreach ($login->result_array() as $row) {
        $newdata = array(
        'fullname'  => $row['fullname'],
        'email'     => $row['email'],
        'member_id' => $row['member_id'],
        'transtatus'=>$row['transtatus']
        );
        $this->session->set_userdata($newdata);
      }
      redirect('iris/user_home');
    }else
    {
        $data = array('alert'=>$this->alert->log_alert());
        $this->load->view('common/header');
        $this->load->view('login',$data);
        $this->load->view('common/footer');
    }
}`

我首先將模型腳本模型加載到虹膜控制器的構造函數和登錄函數下,然后在腳本$login=$this->script->check_login();調用該函數$login=$this->script->check_login(); 在script.php中,我們具有以下代碼。

    {public function check_login(){
        $email = $this->input->post('email');
        $password = $this->input->post('password');
          $query = "SELECT * FROM `iris_user`
      WHERE`email`=? AND`password`= ? ";
          $result = $this->db->query($query, array($email, $password));
          return $result;
      }

記住,您必須從CIfolder中的application / config / autoload.php文件中加載會話類幫助程序

 $autoload['libraries'] = array('database', 'session');

該會話在自動加載后始終會開始,但是在創建注銷功能時可能會被破壞。 還請注意,在添加到會話數據變量中以訪問會話變量時,必須使用聲明會話變量時使用的名稱。 例如,訪問全名,您可以在代碼中執行此操作

echo $_SESSION['fullname'];

在控制器負載庫會話中:

$this->load->library('session');

使用下面的句子進行會話創建:

$this->session->set_userdata("session_name",session_value);

對於會話取消:

$this->session->unset_userdata("session_name"); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM