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 :
Views login.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); }
Routes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
On m'affiche ça comme erreur sans mettre le var_dump
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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'); });
En mettant le var_dump
Normalement ça doit me diriger sur cette page
Merci pour les réponses que vous pourrez m'apporter.
Partager