2011-04-19 68 views
0

會話ID是空的,當我做:pr($this->Session); 我收到:CakePHP的會話ID空

SessionComponent Object 
(
    [__active] => 1 
    [__bare] => 0 
    [valid] => 1 
    [error] => 
    [_userAgent] => 5343528de22b8a6d25e7fd391692c911 
    [path] => /profiles 
    [lastError] => 
    [security] => medium 
    [time] => 800-452-3639 
    [sessionTime] => 800-452-3639 
    [cookieLifeTime] => 720000 
    [watchKeys] => Array 
     (
     ) 

    [id] => 
    [host] => xyz.org 
    [timeout] => 
    [enabled] => 1 
) 

我如何可以啓用會話ID,或使會話ID?

回答

5

如果你真的想要一個會話ID,你需要啓動會話。當你pr($this->Session->id());你會看到新的會話ID

$this->Session->start(); 
$this->Session->id(session_id()); 

然後:在您的面前過濾器試試這個。

+0

謝謝伯吉斯,正是我需要的! – 2011-04-19 18:20:18

+0

沒問題!樂意效勞! – 2011-04-19 20:30:56

+0

感謝'session_id()'。我無法在任何地方找到它。真的需要開始會話嗎?它可能在我寫入會話時自動啓動? – 2014-04-25 18:36:26

2

它被Cake被動地照顧 - 你不需要設置它。只需調用read(),write()就可以了。

$this->Session->write('key', $value); 

$value = $this->Session->read('key'); 
1

只需使用

回聲$這個 - >會話級> ID(); //打印像7gl7bo9gv38rj0sjtqo52dkeu5

在控制器中。沒有必要開始()或其他東西。 CakePHP(在2.7中測試)自動爲您提供。