2009-08-04 50 views
0

我在Cakephp中使用會話。我有3個控制器。在用戶控制器登錄時,我已將用戶ID寫入Session變量中。在cakephp中讀會話變量時出錯

但是,當我嘗試讀取它在另一個控制器中,我得到的Session變量的值.WHy所以???

編輯:

在我的用戶控制

我寫誰已經登錄作爲

function login() 
    { 


    $this->Session->write('userId',$this->User->loginUser($this->data)); 
    $this->User->data=$this->data; 

    if (!$this->User->validates()) 
     { 
      $this->Flash('Please enter valid inputs','/main'); 
      return; 
     } 
    if($this->Session->read('userId')>0){ 

        $this->Session->setFlash('Login Successful'); 
     $this->redirect('/main/home'); 
     break; 

    } 
    else{ 
     $this->flash('Username and password do not match.','/main'); 

    } 

} 

而且在我的形式控制器我想讀的人的用戶ID會話變量用戶ID喜歡..,

<?php 
    class FormsController extends AppController 
    { 

var $name = 'Forms'; 
var $helpers=array('Html','Ajax','Javascript','Form'); 
var $components = array('RequestHandler','Autocomplete'); 
var $uses=array('Form','User','Attribute','Result','Invite','Share','Choice'); 


function index() {} 


    function design() 
    { 
      $userId=$this->Session->read('userId');echo $userId; 
      $this->data['Form']['created_by']=$this->Session->read('userId'); 

      $userName=$this->Form->findUserName($this->data); 
      $this->set('userName',$userName); 
    } 
} 

但是,此用戶名不是di張開會話變量我已經寫了....

爲什麼它的發生..

+0

你能發表任何代碼嗎?你使用Cake Auth函數還是自己推出...? – deceze 2009-08-04 09:17:10

回答

0
  1. 你可能要考慮使用內置AuthComponent如果您還沒有蛋糕。

  2. 您是否真的測試過$this->User->loginUser()的返回值?

  3. 你能保存Session中的其他東西嗎?

  4. 看看你是否能從this question得到任何提示。