CakePHP login by Username Or Email using Auth component -
in present system need login using username or email , password. can knows how achieve ?
my form:
<?php echo $this->form->create('user', array('action' => 'login')); echo $this->form->input('username', array('class' => 'textfield js-user-mode')); echo $this->form->input('password', array('class' => 'textfield')); ?> my appcontroller:
public $components = array( 'email'=>array(), 'auth' => array( 'loginaction' => array( 'admin' => false, 'controller' => 'users', 'action' => 'login' ), 'autherror' => 'your session has ended due inactivity. please login continue.', 'authenticate' => array( 'form' => array( 'fields' => array('username' => array('username','email')), ), 'all' => array( 'usermodel' => 'user', 'scope' => array('user.status' =>array('active')) ) ) ) ); let me know else need do..??
i'm not sure etiquette on posting answers old questions here's did this.
in login function
$username = $this->data['user']['username']; $password = $this->request->data['user']['password']; $user = $this->user->findbyusername($username); if (empty($user)) { $user = $this->user->findbyemail($username); if (empty($user)) { $this->session->setflash(__('incorrect email/username or password')); return; } $this->request->data['user']['username'] = $user['user']['username']; }
Comments
Post a Comment