3 pièce(s) jointe(s)
Controller d'authentification
Bonjour,
Je débute complètement avec le langage php ainsi que le framework Codeigniter mais pour un projet scolaire notre professeur nous a donné comme consigne d'utiliser uniquement le framework Codeigniter pour coder notre site.
Je suis actuellement une vidéo pour m'aider à faire le système d'authentification mais lorsque je lance la connexion grâce avec la form du login, j'ai un problème qui découle de là. J'ai cherché à voir si j'avais une erreur dans la console mais il n'y a rien du tout qui est indiqué.
J'ai essayé de faire un var_dump pour me montrer l'erreur et il ne m'indique que "NULL".
J'ai essayé de régler le soucis comme l'instructeur l'a mis dans sa vidéo en utilisant la commande if(!is_null(item)).. mais après ça rien ne se passe.
Voilà mon code, Controller, Routes et Views et aussi les screens.
Controller Login :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
$record = $model->where("email", $this->request->getVar("email"))
->where("password", $this->request->getVar("password"))
->first();
var_dump($record);
$session = session();
if(!is_null($record)){
//donnée trouvée dans la bdd
$sess_data = [
"email" => $record["email"],
"pseudo" => $record["pseudo"],
"id_role" => $record["id_role"]
];
$session->set($sess_data);
if($record['id_role']=="eleve"){
// direction tableau de bord "élève"
return view('eleve_dashboard/dashboard');
}
else if($record['id_role']=="modo"){
// direction tableau de bord "modo"
return view('modo_dashboard/dashboard');
}
else{
// direction tableau de bord "admin"
return view('admin_dashboard/dashboard');
}
return redirect()->to(base_url($url));
}
else{
$session->set("failed_message","Vos informations ne correspondent pas, réessayer.");
$session->markAsFlashdata('failed_message');
return redirect()->back()->withInput();
} |
Views login.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
<h3>Connexion</h3>
<?php $session = session(); ?>
<?php if(!is_null($session->getFlashdata('failed_message'))): ?>
<div class="alert alert-danger">
<?php echo $session->getFlashdata('failed_message'); ?>
</div>
<?php endif ?>
<?php $validation = \Config\Services::validation(); ?>
<form action="<?php echo base_url('login')?>" method="POST">
<div class="input__item">
<input type="text" placeholder="Email address" name="email" value="<?php echo old('email')?>">
<span class="icon_mail"></span>
<div class="text-danger">
<?php echo $validation->getError("email")?>
</div>
</div>
<div class="input__item">
<input type="text" placeholder="Password" name="password" value="<?php echo old('password')?>">
<span class="icon_lock"></span>
<div class="text-danger">
<?php echo $validation->getError("password")?>
</div>
</div>
<button type="submit" name ="identification" class="site-btn">Se connecter</button>
</form> |
Routes :
Code:
1 2 3 4 5 6 7
|
$routes->get('/login','Login::login');
$routes->post('/login','Login::login');
$routes->group('groupe', ['namespace' => 'App\Controllers'], function ($routes) {
$routes->get('eleve', 'DashboardController::eleve');
$routes->get('admin', 'AdminDashboardController::index');
}); |
On m'affiche ça comme erreur sans mettre le var_dump
Pièce jointe 628963
En mettant le var_dump
Pièce jointe 628964
Normalement ça doit me diriger sur cette page
Pièce jointe 628965
Merci pour les réponses que vous pourrez m'apporter.