0
我正在做一個在線測試Web應用程序,這些都是控制器登錄CakePHP中3.4不工作
- 院系
- 學生
- 測試
- 注
- 問題
- 答案
- 測試問題
- 個StudentResults
- StudentsTests
注:學生和院系都有不同的登錄
我想在院系控制器登錄, 在應用程序控制器我有負載驗證組件,
當我嘗試登錄時,它顯示錯誤「用戶名或密碼不正確」
這是應用控制器
$this->loadComponent('Auth', [
'loginAction'=> [
'controller'=>'Faculties',
'action'=> 'login',
],
'authenticate' => [
'Form' => [
'userModel' => 'Faculties',
'fields' => ['username' => 'email', 'password' => 'password'],
]
],
'loginRedirect' => [
'controller' => 'Faculties',
'action' => 'index'
]
]);
這是院系控制器登錄功能
public function login()
{
if ($this->request->is('post'))
{
debug($this->request->getData());
debug($this->Auth->identify());
$faculty = $this->Auth->identify();
if ($faculty)
{
$this->Auth-setUser($faculty);
return $this->redirect($this->Auth->redirectUrl());
}
$this->Flash->error('Your username or password is incorrect');
}
}
視圖登錄的
<h1>Login</h1>
<?= $this->Form->create() ?>
<?= $this->Form->control('email') ?>
<?= $this->Form->control('password') ?>
<?= $this->Form->submit('Login') ?>
<?= $this->Form->end() ?>
各系架構
CREATE TABLE IF NOT EXISTS `mydb`.`faculties` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '',
`email` VARCHAR(45) NOT NULL COMMENT '',
`password` VARCHAR(45) NOT NULL COMMENT '',
`first_name` VARCHAR(45) NOT NULL COMMENT '',
`last_name` VARCHAR(45) NULL COMMENT '',
`profile_pic` VARBINARY(8000) NULL COMMENT '',
`mobile_no` INT(10) NOT NULL COMMENT '',
`college` VARCHAR(100) NULL COMMENT '',
`department` VARCHAR(100) NULL COMMENT '',
`subjects` TEXT NULL COMMENT '',
`created` DATETIME NULL COMMENT '',
`modified` DATETIME NULL COMMENT '',
PRIMARY KEY (`id`) COMMENT '')
ENGINE = InnoDB
請幫助什麼是錯的代碼
什麼是你'faculties'數據庫架構? – tarikul05
我已經添加了模式,請幫忙 –
你加密你的密碼嗎?如果你加密它然後'密碼VARCHAR(45)'長度'45'是不夠的增加它,並再次嘗試註冊 – tarikul05