Page 1 sur 1

Redirection php avec header()

Posté : 06 nov. 2005, 19:46
par Dylouik
bonjour, j'ai mis ceci dans mon code :
if ($pseudoOK) {
  $_SESSION['pseudo'] = $data['pseudo'];
	header("Location: www.lanatorne.net");
}
else {
  echo 'Une erreur est survenue, veuillez réessayer !'; 
}
?>
Je voudrais une fois ma sessions validée, une redirection.
Cela ne marche pas, quelle est l'erreur ou comment faire autrement ?
MErci beaucoup d'avance

Posté : 06 nov. 2005, 19:52
par Truc
tu n'a pas de message d'erreur ?

sinon met un chemin relatif par rapport a ton script

Posté : 06 nov. 2005, 19:54
par Dylouik
Voilà, en fait si je ne met pas header, je tomber sur une page blanche ; sinon je tombe sur "Une erreur est survenue, veuillez réessayer !"

Qu'appelle tu un chemin relatif?

Posté : 06 nov. 2005, 20:20
par Vaedan
apres header() il est (vivement) conseillé d'effectuer un die() ou encore exit(). de plus, je pense qu'il faut mettre le http:// avant l'adresse :)

le chemin relatif est par exemple ../index.php.

Posté : 06 nov. 2005, 20:33
par Invité
Moi, pour ma part, je cale ça dans une variable :
<?
$reponse = header('Location: ../index.php');
echo $reponse;
?>
Mais après, chacun fait comme il veut ^^

Posté : 06 nov. 2005, 20:38
par Vaedan
ça ne change rien au probleme ...
$reponse = header( 'Location ../index.php' );
echo 'bonjour';
utilise maintenant un logiciel tel que netcat avec :

Code : Tout sélectionner

GET dossier/page.php HTTP/1.0 Host: www.exemple.fr
tu obtiendras une réponse 302 Redirect et tu verras le reste de la page (ici le mot bonjour...).

Cela soulève alors un probleme de sécurité :
if ( pas identifié )
{
    header( 'Location: login.php' );
}

// page de téléchargement par exemple
Ici il sera possible de visualiser la page sans etre authentifié !

Posté : 06 nov. 2005, 20:45
par Invité
$reponse = header('Location: ../index.php'); 
echo $reponse; 
Oui cela me parait une solution assez simple et fiable

Merci à tous d'avoir répondu, cela fonctionne :)

Posté : 06 nov. 2005, 20:46
par Vaedan
Oublie de lire mon post ... mais bon si tu te résignes à ne lire que les choses courtes ... die() ou exit apres !