Problème de header

WRInaute occasionnel
Bonjour,
mon site contient des pages qu'il me faut protéger. On s'identifie, puis on accède à des pages commençant par :
Code:
session_start();
if (! empty($_SESSION))	
{	$mode = $_SESSION ['mode'];
	$auth = $_SESSION['auth'];
}
else // si la session commence, on passe en mode user par défaut
{	$mode = "user";
	$auth = "no";
	$_SESSION['mode'] = $mode;
	$_SESSION['auth'] = $auth;
}
if(! isset($_SESSION)) $auth = "no";

// si l'identification n'est pas faite
if ($auth == "no")
{  
   header ("Location : http://www.monsite.fr/");
   exit();
}
Mais cela renvoie une page vide (à cause du exit(); je pense). On n'est pas redirigé.
Sur le même répertoire, j'ai essayé le script essai.php suivant :
Code:
<?php
header("Location: http://www.monsite.fr/");
?>
et la redirection se fait bien. Alors, où est mon problème ? La doc php me dit que le paramètre optionnel n'est qu'à mettre si on ne veut PAS écraser les en-tête précédents éventuels, mais ce n'est pa smon cas...
NB. Cette méthode a pourtant bien fonctionné sur une autre plateforme.
Merci de vos conseils.
 
WRInaute accro
Procède par étape
déjà fais un echo $auth pour savoir ce qu'il y a dans la variable
tu dis que c est peut-etre dû au exot(), essaye donc sans
 
WRInaute occasionnel
Merci e-kiwi !
1- sans le exit(); il ne se passe rien : la page s'affiche, même aux non identifiés. C'est le exit(); qui me renvoie une page vide.
2- le test if ($auth == "no") se fait bien, j'ai vérifié.

C'est vraiment un problème avec le header. Mais je n'ai aucun message d'erreur (genre : "un truc a été renvoyé au navigateur avant l'appel à header..."). :(
 
WRInaute accro
if ($auth == "no")
{
echo "toto"
}
marche ?

essaye une redirection avec une adresse non absolue peut-etre (car possible que ton session_start() sur l'autre page ne marche pas si tu fais un header en adresse absolue)
 
Discussions similaires
Haut