Perte de valeur des variables session avec he

Fermé
norhant - 18 mars 2009 à 12:25
 Utilisateur anonyme - 28 janv. 2010 à 17:17
bonjour,
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
<?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
<!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)

4 réponses

moi aussi j'ai à peu pres le meme probleme. quelqu'un peut nous aider
0
Utilisateur anonyme
28 janv. 2010 à 15:27
Même probléme :s
0
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 973
28 janv. 2010 à 16:48
Pourquoi ne pas travailler avec des redirections meta?


else
{
$_SESSION['user_type']=$res['type'];

<meta http-equiv="Refresh" content="0;URL=../index.php?option=acces_membre">
}
?>


En plus tu peux changer le 0 par ce que tu veux (en secondes avant que la redirection ne se fasse)
0
Utilisateur anonyme
28 janv. 2010 à 17:17
en fait j'ai reussi à le regler, il fallait mettre une conditions avant d'utiliser les variables
0