2017-08-27 1 views
0

je fais une application web de test en ligne, ce sont les contrôleursConnectez-vous à CakePHP 3.4 ne fonctionne pas

  • Facultés
  • étudiants
  • Tests
  • Remarques
  • Questions
  • Réponses
  • TestQuestions
  • StudentResults
  • StudentsTests

Note: les étudiants et les facultés ont toutes deux différentes connexions

J'essaie de se connecter dans les facultés contrôleur, i ont la charge des composants Auth dans le contrôleur App,

Lorsque j'essaie de me connecter, il affiche une erreur "nom d'utilisateur ou mot de passe incorrect"

Ceci est le contrôleur App

$this->loadComponent('Auth', [ 
       'loginAction'=> [ 
        'controller'=>'Faculties', 
        'action'=> 'login', 
       ], 
       'authenticate' => [ 
        'Form' => [ 
         'userModel' => 'Faculties', 
         'fields' => ['username' => 'email', 'password' => 'password'], 
        ] 
       ], 
       'loginRedirect' => [ 
        'controller' => 'Faculties', 
        'action' => 'index' 
       ] 
      ]); 

Ceci est la fonction de connexion au contrôleur facultés

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'); 
     } 
    } 

vue de la connexion

<h1>Login</h1> 
<?= $this->Form->create() ?> 
<?= $this->Form->control('email') ?> 
<?= $this->Form->control('password') ?> 
<?= $this->Form->submit('Login') ?> 
<?= $this->Form->end() ?> 
schéma facultés

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 

s'il vous plaît aider ce qui est erroné dans le code

+0

quel est votre schéma de base de données 'faculties'? – tarikul05

+0

J'ai ajouté le schéma, s'il vous plaît aider –

+0

crypter votre mot de passe? si vous le cryptez alors 'mot de passe VARCHAR (45)' longueur '45' ne suffit pas l'augmenter et essayez à nouveau en vous inscrivant – tarikul05

Répondre

0
  • Vérifiez le nom de chaque champs (e-mail ou courrier/mot de passe ou passwd)
  • Vérifiez que vous ajoutez dans src/Modèle/entité/Faculty.php « function _setPassword »
  • debug la valeur de la faculté de $ peut-être vous avez un problème avec votre validation (src/modèle/Table/FacultyTable.php)