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¶m1=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
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
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"); } } ?>
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)
Partager