Redirection php avec header()

Dylouik
Invité n'ayant pas de compte PHPfrance

06 nov. 2005, 19:46

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

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

06 nov. 2005, 19:52

tu n'a pas de message d'erreur ?

sinon met un chemin relatif par rapport a ton script

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Dylouik
Invité n'ayant pas de compte PHPfrance

06 nov. 2005, 19:54

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?

Eléphant du PHP | 493 Messages

06 nov. 2005, 20:20

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.

Invité
Invité n'ayant pas de compte PHPfrance

06 nov. 2005, 20:33

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 ^^

Eléphant du PHP | 493 Messages

06 nov. 2005, 20:38

ç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é !

Invité
Invité n'ayant pas de compte PHPfrance

06 nov. 2005, 20:45

$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 :)

Eléphant du PHP | 493 Messages

06 nov. 2005, 20:46

Oublie de lire mon post ... mais bon si tu te résignes à ne lire que les choses courtes ... die() ou exit apres !