2015-04-12 116 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);