2011-05-09 55 views
-1

也許一個簡單的問題,但我怎麼在登錄後更改我的登錄框。如「歡迎用戶」
我不能找到很好的例子......

我的代碼看起來像這樣 users_controller 功能登錄{ } ..與login元素CakePHP的Login元素

+0

發佈您的代碼,所以我們可以來看看! – Drewdin 2011-05-09 13:13:50

回答

2

在這裏看到的例子:http://groups.google.com/group/cake-php/browse_thread/thread/56ff0ce37fb06a30

你有2種選擇:

  1. 根據您的登錄狀態,選擇其他元素,如:

     
    function login() { 
        if ($isUserLoggedIn == false) { 
         // render login element 
        } else { 
         // render welcome element 
        } 
    } 
    
  2. 這是更壞的選擇在登錄元素添加邏輯,如:

     
    if (!$isUserLoggedIn) { 
        // echo html and code for login 
    } else { 
        // echo html and code for welcome 
    } 
    
0

我假設你想要一個可以被記錄和未登錄用戶渲染的動作/視圖。

類似riky是下面的代碼可能會幫助你

在你的控制器:

//check if user is logged in and set $user_details variable in the view 
if($this->Auth->User()){ 
$user_details = $this->Auth->User(); 
} 
$this->set(compact('user_details')); 

在你看來:

<? //check if $user_details variable is set (user is logged in) and display the correct element 
if(isset($user_details){ 
echo $this->element('welcome_box',array('user_details'=>$user_details)); 
}else{ 
echo $this->element('login_box'); 
} 
?> 
+0

謝謝我解決了這個問題! – NDeveloper 2011-05-09 15:17:22