entète http et html ?

seabird

WRInaute occasionnel
Bonjour,

je suis actuellement sous php5 et je sais que la fonction header() doit être utilisée avant tout envoi de données HTML au navigateur.
Voila mon problème:
Sur une de mes pages, j'ai besoin de lancer un javascript avant de faire une redirection automatique.
J'ai fait une expérience, j'ai mis header apres le contenu html .
J'ai donc une page de ce type
Code:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META NAME="robots" CONTENT="noindex,nofollow">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<script language="JavaScript" type="text/javascript">
code
</script>
<?php

$lien='http://www.domaine.com';
header("Location: $lien");

?>

Lorsque je lance cette page, je n'ai aucune erreur et la redirection fonctionne parfaitement ???
On m'aurait menti , il y a qqch dans php5 qui autorise cela ??
Vous avez une explication ???

Sinon vous feriez comment pour rediriger une page après avoir exécuté un code javascript ?
 

seabird

WRInaute occasionnel
A autant pour moi j'étais en local , c'est wamp qui n'est pas configuré comme il faut.

Sinon pour en revenir au problème pour rediriger après exécution d'un script j'ai pensé faire ça ( avec window.location):
Sachant que je récupère le lien par get.
Code:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META NAME="robots" CONTENT="noindex,nofollow">
</head>

<body bgcolor="#FFFFFF" text="#000000">


<script language="JavaScript" type="text/javascript">

code
</script>


<?php
$lien=$_GET['lien'];
$lien=str_replace("|","&",$lien);
echo("<script>window.location=\"$lien\";</script>");

?>

</body>
</html>


Ca marche , mais y a t-il mieux ??
 
Haut