2013-04-27 61 views
0

我第一次嘗試在CI中使用cookie。無法讓它工作。這是我的代碼:Cookies beeing set,codeigniter

class Site extends CI_Controller { 

public function index(){ 
    $this->load->view('input_view'); 
    $this->load->helper('cookie'); 
    $this->test(); 
} 

public function test(){ 
    $cookie = array(
     'name' => 'Test', 
     'value' => 'The Value', 
     'expire' => '86500', 
     //'domain' => '.some-domain.com', 
     'path' => '/', 
     'prefix' => 'myprefix_', 
     'secure' => TRUE 
    ); 

    $this->input->set_cookie($cookie); 
    var_dump(get_cookie('Test')); 
} 

var_dump ...返回false。我明白這是第一次,但重新加載頁面後,它不應該是真的嗎?我在Chrome的網絡工具中看不到任何「測試」Cookie。我需要「域」行嗎?我搜索了一些,如果我明白它是可選的?如果不是,我想寫什麼?本地主機?在我的配置文件中,我有這個設置的Cookie

$config['cookie_prefix'] = ""; 
$config['cookie_domain'] = ""; 
$config['cookie_path']  = "/"; 
$config['cookie_secure'] = FALSE; 

回答

3

我猜你沒有運行https進行開發。

您的Cookie上的secure標誌強制Cookie爲sent over HTTPS only;

Secure: 

If this cookie can ONLY be sent over HTTPS (SSL), set this value to true. 

將其設置爲false,並且cookie應該可以工作。

+0

是的,效果很好。應該看到了。謝謝! – Per 2013-04-27 15:03:14