Je suis en train de développer la partie accès membre d’un site et je souhaite utiliser le type url index.php ?option=actionafaire&param1=param1..
Mais j’ai découvert que je perds mes valeurs des variables session en utilisant des header (‘location : redirectionurl’)

J’ai 4 fichiers :
- index.php qui contient le chemin relatif vers tous les fichiers utilisés
- login.php qui contient le formulaire classique de connexion
- veriflogin.php qui traite les différentes erreurs que peut faire l’utilisateur (ex : champ login vide, mot de passe incorrect…).si aucune erreur n’est rencontrée il fait une redirection vers la page ‘index.php ?option=acces_membre’
- espace.php qui selon l’utilisateur connecté affiche les différentes actions possibles



Voici le code source des deux fichiers veriflogin.php et espace.php

Veriflogin.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
<?php
$login=$_POST['login'];
$pwd=$_POST['pwd'];
if (empty($login)) 
  {
Traitement erreur
   }
elseif (empty($pwd)) 
  {
Traitement erreur
);
     }
 
else
   {
connexion();
$sql="select login,pwd,type from users where login='$login' and pwd='$pwd'";
$req=mysql_query($sql) or die ('Erreur d\'exécution'.mysql_error());
$nbre=mysql_num_rows($req);
$res=mysql_fetch_array($req);
mysql_close();
if ($nbre==0)
  {
Traitement erreur
   }
 else
 {
 $_SESSION['user_type']=$res['type'];
header("Location:../index.php?option=acces_membre");
 } 
}
?>
Espace.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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans nom</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
 
<body>
<h1 align="center">Administration du site</h1>
<table width="100%"  border="1" cellpadding="0" cellspacing="0">
<?php 
if ($_SESSION['user_type']==1)
{
?>
Liste actions possibles
<?php
}
else 
{
Liste actions possibles
}
?>
</table>
</body>

Tout marche nickel mais arrivé à l’espace membre je trouve l’erreur suivante :
Notice: Undefined index: user_type in c:\program files\easyphp1-8\www\ex_projet\admin\membre\espace.php

NB : la fonction session_start() est appelée dans le début du fichier index.php vu que tout les autres fichiers y sont inclus (inclus dans index.php)