2011-03-11 25 views
1

我想從輸入庫調用get_cookie()方法,但我收到此錯誤。調用未定義的方法CI_Input :: get_cookie() - 代碼點火器

「致命錯誤:調用未定義的方法CI_Input :: get_cookie()」

我已經加載的cookie的助手,並使用了呼叫set_cookie()在父功能。我不確定這是否應該成爲問題。

這是創建錯誤的代碼。

class Main extends MY_Controller 
    { 
     function __construct() 
     { 
      parent::__construct(); 

      //load library 
      $this->load->helper('cookie'); 

      echo "Welcome controller<br>"; 

     } 

     function index() 
     { 


      //get platform cookie 
      $_platform = $this->input->get_cookie('platform'); //<-ERROR 

      if (!$this->tank_auth->is_logged_in()) { 
       redirect('/auth/login/'); 
      } else { 
       $data['user_id'] = $this->tank_auth->get_user_id(); 
       $data['username'] = $this->tank_auth->get_username(); 
       $data['platform'] = $_platform['value']; 
       $this->load->view('welcome', $data); 
      } 
     } 
    } 
+0

我想看到的CI論壇,您MY_Controller – jondavidjohn 2011-03-11 23:23:36

+0

有人回答了這個對我來說,我會在這裏發佈。 – Adgezaza 2011-03-12 00:23:55

回答

2

由於您已經加載cookie助手,因此您可以使用函數獲取cookie。

$_platform = get_cookie('platform'); 

如果我沒有記錯,通過輸入類獲取Cookie是這樣的:

$_platform = $this->input->cookie('platform'); 

http://codeigniter.com/forums/viewthread/181572/#867911

+0

雖然你的解決方案工作正常,但奇怪的是,set_cookie像$ this-> input-> set_cookie()一樣使用,並且獲取cookie不需要任何「$ this-> input->」前綴......奇怪.. !!我也注意到delete_cookie()的情況也是如此。它不需要任何類/庫前綴,只需使用它作爲delete_cookie()。 – 2014-01-31 08:23:18