2015-04-12 138 views
0

我試圖根據用戶的角色將用戶定向到特定的頁面。我有以下的代碼登錄用戶,並把它們引導到主頁,但不考慮自己的角色:如果用戶是一個候選根據用戶角色導航到登錄頁面的頁面

public function login($context, $local) 
{ 
    if ($context->hasuser()) 
    { # already logged in 
    $local->message('message', 'Please log out before trying to login'); 
    } 
    else 
    { 
    if (($lg = $context->postpar('login', '')) !== '') 
    { 
     $page = $context->postpar('page', ''); 
     $pw = $context->postpar('password', ''); 
     if ($pw !== '') 
     { 
     $user = $this->eorl($lg); 
     if (is_object($user) && $user->pwok($pw) && $user->confirm) 
     { 
      if (session_status() != PHP_SESSION_ACTIVE) 
      { # no session started yet 
      session_start(); 
      } 
      $_SESSION['user'] = $user; 
      $context->divert($page === '' ? '/' : $page); # success - divert to home page 
     } 
     } 
     $local->message('message', 'Please try again.'); 
    } 
      else 
      { 
       $page = $context->getpar('page', ''); 
      } 
      $local->addval('page', $page); 
    } 
    return 'login.twig'; 
} 

我也有檢查的功能:

public function hascandidate() 
    { 
     return $this->hasuser() && $this->luser->iscandidate(); 
    } 

我試圖讓系統將用戶導向頁面'/應用程序',如果他們是候選人。任何人都可以提供幫助嗎?

乾杯

回答

0

不知道到底是什麼hascandidate()返回時,如果你使用任何框架,我最好的猜測是,你可以添加以下

if (hascandidate() == true) { $context->divert('/applyjob'); }

右上面這一點:

$context->divert($page === '' ? '/' : $page);