Элемент входа CakePHP

#php #cakephp #login

#php #cakephp #аутентификация

Вопрос:

Возможно, простой вопрос, но как мне изменить свое поле для входа в систему после входа в систему. Например, «Добро пожаловать, пользователь»
Я не могу найти хороших примеров…

Мой код выглядит следующим образом: функция users_controller login { } .. с элементом login

Комментарии:

1. опубликуйте свой код, чтобы мы могли взглянуть!

Ответ №1:

Смотрите здесь в качестве примера:http://groups.google.com/group/cake-php/browse_thread/thread/56ff0ce37fb06a30

У вас есть 2 варианта:

  1. В зависимости от вашего состояния входа в систему, выберите другой элемент, например:

    функция login() { 
     if ($isUserLoggedIn == false) {
     // визуализировать элемент входа
     } else {
     // отобразить элемент приветствия
     }
    }
    
  2. это более плохой вариант, чтобы в элемент входа добавить логику, подобную:

    if (!$isUserLoggedIn) {
     // echo html и код для входа в систему
    } else {
     // echo html и код для приветствия
    }
    

Ответ №2:

Я полагаю, что вам нужно действие / представление, которое может быть отображено как зарегистрированными, так и не зарегистрированными пользователями.

Подобно riky’s, следующий код может помочь вам

В вашем контроллере:

 //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');
}
?>