#php #cakephp #login
#php #cakephp #аутентификация
Вопрос:
Возможно, простой вопрос, но как мне изменить свое поле для входа в систему после входа в систему. Например, «Добро пожаловать, пользователь»
Я не могу найти хороших примеров…
Мой код выглядит следующим образом: функция users_controller login { } .. с элементом login
Комментарии:
1. опубликуйте свой код, чтобы мы могли взглянуть!
Ответ №1:
Смотрите здесь в качестве примера:http://groups.google.com/group/cake-php/browse_thread/thread/56ff0ce37fb06a30
У вас есть 2 варианта:
-
В зависимости от вашего состояния входа в систему, выберите другой элемент, например:
функция login() { if ($isUserLoggedIn == false) { // визуализировать элемент входа } else { // отобразить элемент приветствия } }
-
это более плохой вариант, чтобы в элемент входа добавить логику, подобную:
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');
}
?>