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