Я некоторое время занят системой входа в CakePHP.
У меня есть сайт, где люди могут присоединиться и войти.
То, что я хочу, - если пользователи входят в первый раз, пользователь должен выполнить определенные шаги с информацией, которая должна быть завершена.
Я думал создать в моей базе данных поле с активным 1 или 0.
Когда пользователь выполняет шаги, профиль был активирован и никогда не будет отображаться при первом входе на страницу.
Например, Добро пожаловать «Пользователь»,
Информация моего профиля -> Связаться с нами -> Информация о приложении
-> Активировать свою учетную запись
Может кто-нибудь дать мне несколько фрагментов, чтобы сделать это.
Большое спасибо!
<?php
class UsersController extends AppController {
var $name = 'Users';
function beforeFilter() {
parent::beforeFilter();
// Rights for the admin users
$this->Auth->mapActions(
array(
'create' => array('admin_add'),
'read' => array('index', 'admin_index')
)
);
// Everybody can login
$this->Auth->allow(array('login'));
// Apply ucfirst (Capital) & strolower (small text) to the username
if (isset($this->data['User']['username'])) {
$this->data['User']['username'] = ucfirst(strtolower($this->data['User']['username']));
}
}
function login() {
// Check if the user is logged in correctly, then update the date/time from this login
if ($this->Auth->User()) {
// Update the login date
$this->User->save(array(
'id' => $this->Session->read('Auth.User.id'),
'last_login' => date('Y-m-d h:i:s')
));
// Get the group name
$group = $this->User->Group->findById($this->Session->read('Auth.User.group_id'));
// Set the redirect if the user has logged in as Administrator
if ($group['Group']['name'] == 'Admins') {
$this->redirect(array('controller' => 'posts', 'action' => 'index'));
}
}
// Always redirect the user to the homepage
// $this->redirect(array('controller' => '', 'action' => ''));
pr($this->Session->read('Auth'));
}
function logout() {
$this->redirect($this->Auth->logout());
}
function admin_index() {
echo 'It Work's';
}