2012-12-20 108 views
0

在codeigniter中,我試圖包含一個Logger庫,並且在下面的代碼中,我需要檢查用戶是否已登錄,如果是,請查找其用戶標識。Codeigniter找到用戶是否登錄

<?php 
    class Logger { 

private $CI; 

public function __construct() { 
    $this->CI =& get_instance(); 
} 

public function request_logger() { 
    $uri = $this->CI->uri->uri_string(); 
    $ip=""; 
    $userID=""; 
    //$ip = ip2long($_SERVER['REMOTE_ADDR']); 
    $ip = $_SERVER['REMOTE_ADDR']; 
     $params = trim(print_r($this->CI->input->post(), TRUE)); 

    log_message('info', '=============='); 
    log_message('info', 'URI: ' . $uri); 
    log_message('info', '--------------'); 
    log_message('info', 'PARAMS:' . $params); 
    log_message('info', 'IP:' . $ip); 
    log_message('info', '=============='); 
    //if ($this->ion_auth->logged_in()) 
    if(isset($_POST['user_id'])) 
    { 
     log_message('info', '<== Inside loggedin loop ==>'); 
     $userID=$this->input->post('user_id'); 



    } 
     log_message('info', 'USERID' . $userID); 

} 
} 
?> 
+0

你爲什麼不使用會話? – ajtrichards

+0

我是新來的代碼點火器和php5可以ü請給我一個例子 – Rajeev

+0

我得到了以下問題的答案從http://stackoverflow.com/questions/11408379/codeigniter-hooks-advance謝謝 – Rajeev

回答

2

你可以使用codeigniter Session類。 您可以創建用戶數據的新會話,這樣

$newdata = array(
        'username' => 'johndoe', 
        'email'  => '[email protected]', 
        'logged_in' => TRUE 
       ); 

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

並且你可以通過訪問這些數據,

$userId = $this->session->userdata('userid'); 

訪問本用戶指南Codeignitor Session

+0

但要做到這一點,我必須將我的課程擴展到CI_CONTROLLER吧? – Rajeev

+0

如果你正在嘗試編寫一個庫,爲什麼要擴展CI_Controller? –

+0

那麼,您正在嘗試編寫自己的庫? –