Bonjour à tous.
Je débute en php, et j'ai créé un site en utilisant mes maigres connaissances du moment. Il est fait ainsi : une page navig.php dont le menu et la forme ne change pas, mais dont le contenu texte est un autre fichier, inclus, avec donc une adresse du genre http://www.monsite.com/navig.php?URL=fichier.php
J'ai écrit un petit script qui est censé rediriger le visiteur vers l'adresse http://www.monsite.com/navig.php?URL=fichier.php si celui-ci arrive sur mon site par l'adresse http://www.monsite.com/fichier.php de manière à ce qu'il ait toute la mise en page et le menu.
Voici le script que j'ai fait de mes petits doigts boudinés :
-------------
<?
$adresse = parse_url($_SERVER['PHP_SELF']);
if (!isset($adresse[query]))
{
$fichier=basename($adresse[path]);
header("Location: ".$adresse[host]."navig.php?URL=".$fichier);
}
?>
-------------
Voilà, ça fonctionne, la page est bien redirigée, mais j'ai l'impression que malgré la condition "if (!isset($adresse[query]))" il lit quand même le code si on arrive sur la page de manière normale, car il me met le message d'erreur suivant "Warning: Cannot modify header information - headers already sent by..." puis il affiche le reste de la page correctement. Où ai-je fait une bêtise ?
Merci pour votre aide ! :)