Bonjour à tous,
j'ai un soucis avec $referer = ($_SERVER['HTTP_REFERER']); sur ma page de login. Je souhaiterais rediriger sur l'ancienne page consultée après s'être loger.
Si je mets header("Location: index.php"); après connexion de l'utilisateur c'est bon ça fonctionne, mais si je mets à la place header("Location: $referer"); je reste sur la page login !
Le formulaire est dans la même page que le traitement.
La session s'ouvre mais la redirection ne fonctionne pas.
Merci de votre aide.
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
34
35
36
37 <?php require('conf.inc.php'); if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { if ( !empty($_POST['pseudo'] ) && !empty($_POST['mot_passe']) ) { $sql = mysqli_query($bdd, 'SELECT id, mot_passe, email, acces, admin, avatar FROM membres WHERE pseudo="'.$_POST['pseudo'].'" AND mot_passe="'.md5($_POST['mot_passe']).'"'); $data = mysqli_fetch_array($sql); mysqli_free_result($sql); if(!empty( $data) ){ session_start(); $referer = ($_SERVER['HTTP_REFERER']); $_SESSION['id'] = $data['id']; $_SESSION['admin'] = $data['admin']; $_SESSION['avatar'] = $data['avatar']; $_SESSION['mot_passe'] = $data['mot_passe']; $_SESSION['email'] = $data['email']; $_SESSION['pseudo'] = $_POST['pseudo']; header("Location: $referer"); }else{ $erreur = "<br /><div class='alert alert-error'>Pseudo ou mot de passe incorrect</div>"; } } else { $erreur = "<br /><div class='alert alert-error'>Au moins un des champs est vide.</div>"; } } ?> Le reste du code html formulaire etc...