Bonjour,
J'ai suivi un tuto de Grafikart (Créer un portfolio de A à Z) rien à voir avec le PORTFOLIO pour le moment car j'en suis qu'à la deuxième partie pour le moment.
J'ai tout suivis à la lettre et vérifié deux fois.... mais ça ne marche pas, je vais pas pouvoir poster le code car il y a trop de fichiers, mais en gros,
Dans session.php j'ai :
Dans login.php j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php function flash() { if(isset($_SESSION['Flash'])) { extract($_SESSION['Flash']); unset($_SESSION['Flash']); return "<div class='alert alert-$type'>$message</div>"; } } function setFlash($message, $type = 'success') { $_SESSION['Flash']['message'] = $message; $_SESSION['Flash']['type'] = $type; }
Et mon dans header.php en dessous du reste j'ai ça pour afficher mon message:
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
34
35
36
37
38
39
40
41 <?php $auth = 0; include 'lib/includes.php'; if(isset($_POST['username']) && isset($_POST['password'])) { $username = $db->quote($_POST['username']); $password = sha1($_POST['password']); $select = $db->query("SELECT * FROM users WHERE username=$username AND password='$password'"); if($select->rowCount() > 0) { $_SESSION['Auth'] = $select->fetch(); setFlash('Vous êtes maintenant connecté !'); header('Location:' . WEBROOT . 'admin/index.php'); exit(); } } ?> <?php include 'partials/header.php'; ?> <br><br> <form action="#" method="POST"> <div class="col-md-3"> <div class="form-group"> <label for="username">Nom d'utilisateur</label> <?= input('username'); ?> </div> <div class="form-group"> <label for="password">Mot de passe</label> <input type="password" class="form-control" id="password" name="password"> </div> <button type="submit" class="btn btn-default">Se connecter</button> </div> </form> <?php include 'partials/footer.php'; ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<?= flash(); ?>
Le problème est que si j'ai mon unset($_SESSION['Flash']); et bien le message n'apparait pas, et si je le retire, alors j'ai bien le message qui apparait, mais reste tout le temps affiché et ça sur toute les pages....
J'ai beau mettre un die(); ou un exit(); après la redirection et bien ça ne marche pas.... vous sauriez d'ou peut venir le problème ? ou alors auriez vous un bon tuto pour les sessions flash ? car celui ci n'a pas l'air de marcher... enfin lui ça marche sur la video c'est pour ça que je ne comprend pas.....
Cordialement.....
Partager