Perte de valeur de $_SESSION avec header
Fermé
nane_nana
nane_nana
- Messages postés
- 44
- Date d'inscription
- mardi 17 février 2009
- Statut
- Membre
- Dernière intervention
- 14 juin 2011
nane_nana
- Messages postés
- 44
- Date d'inscription
- mardi 17 février 2009
- Statut
- Membre
- Dernière intervention
- 14 juin 2011
A voir également:
- Perte de valeur de $_SESSION avec header
- [javascript] fonction au sein d'une fonction, perte de valeur. ✓ - Forum - Javascript
- Perte de valeur d'une variable public ✓ - Forum - VB / VBA
- Perte de la valeur des variables avec formulaire en php_SELF ✓ - Forum - PHP
- PHP perte de session avec header ✓ - Forum - PHP
- Your browser sent a request that this server could not understand. size of a request header field exceeds server limit. ✓ - Forum - Internet / Réseaux sociaux
6 réponses
Bigfish72
31 mars 2009 à 13:15
- Messages postés
- 79
- Date d'inscription
- samedi 28 mars 2009
- Statut
- Membre
- Dernière intervention
- 11 avril 2009
31 mars 2009 à 13:15
Salut,
Vérifie en faisant un echo et en enlevant le header dans ta page de contrôle que $res['type'] existe bien et qu'il a une valeur.
Vérifie en faisant un echo et en enlevant le header dans ta page de contrôle que $res['type'] existe bien et qu'il a une valeur.
vindicien
31 mars 2009 à 13:17
- Messages postés
- 131
- Date d'inscription
- vendredi 6 mars 2009
- Statut
- Membre
- Dernière intervention
- 22 février 2011
31 mars 2009 à 13:17
En fait tu ne dois pas générer de code HTML avant d'appeler ton header.
Concrètement avant ton header t'as interdiction de mettre un echo et d'écrire en HTMLl...
Essaies ça et dis moi ;-)
Concrètement avant ton header t'as interdiction de mettre un echo et d'écrire en HTMLl...
Essaies ça et dis moi ;-)
nane_nana
31 mars 2009 à 13:19
- Messages postés
- 44
- Date d'inscription
- mardi 17 février 2009
- Statut
- Membre
- Dernière intervention
- 14 juin 2011
31 mars 2009 à 13:19
j'ai vérifié et $res['type'] contient bien une valeur
nane_nana
31 mars 2009 à 13:36
- Messages postés
- 44
- Date d'inscription
- mardi 17 février 2009
- Statut
- Membre
- Dernière intervention
- 14 juin 2011
31 mars 2009 à 13:36
au fait le debut du fichier veriflogin.php est comme suit
$login=$_POST['login'];
$pwd=$_POST['pwd'];
if (empty($login))
{
header("Location:../index.php?option=erreur_nom_utilisateur_vide");
}
elseif (empty($pwd))
{
header("Location:../index.php?option=erreur_mot_passe_vide&login=".$login);
}
else
{
$pwd=pwd_encode($pwd);
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)
{
header("Location:../index.php?option=erreur_non_correspondants&login=".$login);
}
else
{
$_SESSION['user_type']=$res['type'];
header("Location:../index.php?option=acces_membre");
}
mysql_close();
}
et les trois premiers headers marchent sans aucun souci.
ce n'est que le dernier qui pose le probleme: il fait la redirection mais la valeur de me fait perdre la valeur de $_SESSION['user_type'] selon le message
Notice: Undefined index: user_type in c:\program files\easyphp1-8\www\ex_projet\admin\membre\espace.php
$login=$_POST['login'];
$pwd=$_POST['pwd'];
if (empty($login))
{
header("Location:../index.php?option=erreur_nom_utilisateur_vide");
}
elseif (empty($pwd))
{
header("Location:../index.php?option=erreur_mot_passe_vide&login=".$login);
}
else
{
$pwd=pwd_encode($pwd);
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)
{
header("Location:../index.php?option=erreur_non_correspondants&login=".$login);
}
else
{
$_SESSION['user_type']=$res['type'];
header("Location:../index.php?option=acces_membre");
}
mysql_close();
}
et les trois premiers headers marchent sans aucun souci.
ce n'est que le dernier qui pose le probleme: il fait la redirection mais la valeur de me fait perdre la valeur de $_SESSION['user_type'] selon le message
Notice: Undefined index: user_type in c:\program files\easyphp1-8\www\ex_projet\admin\membre\espace.php
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bigfish72
31 mars 2009 à 13:51
- Messages postés
- 79
- Date d'inscription
- samedi 28 mars 2009
- Statut
- Membre
- Dernière intervention
- 11 avril 2009
31 mars 2009 à 13:51
Tu pourrais montrer ta structure de la page index.php ??
nane_nana
31 mars 2009 à 13:58
- Messages postés
- 44
- Date d'inscription
- mardi 17 février 2009
- Statut
- Membre
- Dernière intervention
- 14 juin 2011
31 mars 2009 à 13:58
au fait tous mes fichiers sont inclus dans index.php
Voici sont contenu
<?php
session_start();
?>
<html>
<head>
<title>titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body >
<?php
$optionOK=array('erreur' => 'prive/login.php',
'acces_membre' => 'prive/espace.php', );
if ((isset($_GET['option'])) && (isset($optionOK[$_GET['option']])) )
{
include($optionOK[$_GET['option']]);
}
else
include ('prive/login.php');
?>
</body>
</html>
donc la page espace.php doit être inclut dans l'index.php
Voici sont contenu
<?php
session_start();
?>
<html>
<head>
<title>titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body >
<?php
$optionOK=array('erreur' => 'prive/login.php',
'acces_membre' => 'prive/espace.php', );
if ((isset($_GET['option'])) && (isset($optionOK[$_GET['option']])) )
{
include($optionOK[$_GET['option']]);
}
else
include ('prive/login.php');
?>
</body>
</html>
donc la page espace.php doit être inclut dans l'index.php