Php header pourquoi ça marche pas ?
Résolu/Fermé
Edouard73
Messages postés
139
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
2 avril 2013
-
2 mai 2008 à 21:50
than24 Messages postés 63 Date d'inscription dimanche 27 septembre 2009 Statut Membre Dernière intervention 30 septembre 2012 - 17 sept. 2012 à 09:54
than24 Messages postés 63 Date d'inscription dimanche 27 septembre 2009 Statut Membre Dernière intervention 30 septembre 2012 - 17 sept. 2012 à 09:54
5 réponses
J'remonte le post pour ceux qui tomberaient eventuellement dessus vu qu'il tombe en premier resultat sur google pour ce probleme de header.
La reponse est tres simple. Tu peux pas utiliser la fonction header apres avoir afficher quelque chose. Or dans ton code, tu affiches du HTML avant d'appeler header.
Si vous voulez faire une redirection, vous devez l'effectuer AVANT d'afficher quoi que ce soit sur votre page. Pour l'exemple d'Edouard :
<?php header("Location: http://www.okpc.fr/croisesimperiaux/v3/index.php");die;?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>
Ca aurait ete ca la solution, meme si le code HTML apres la redirection sert a rien, et qu'en plus il aurait mieux fait de rediriger directement vers l'adresse au lieu d'utiliser un header.
Autre note importante en PHP :
Utiliser un die apres l'appel d'un header est souvent requis car l'appel d'un header n'arrete pas la lecture du script, donc si vous avez du code PHP apres, il sera tout de meme execute meme si vous pensiez que le script aurait du s'arreter.
En esperant que ca aidera quelqu'un.
La reponse est tres simple. Tu peux pas utiliser la fonction header apres avoir afficher quelque chose. Or dans ton code, tu affiches du HTML avant d'appeler header.
Si vous voulez faire une redirection, vous devez l'effectuer AVANT d'afficher quoi que ce soit sur votre page. Pour l'exemple d'Edouard :
<?php header("Location: http://www.okpc.fr/croisesimperiaux/v3/index.php");die;?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>
Ca aurait ete ca la solution, meme si le code HTML apres la redirection sert a rien, et qu'en plus il aurait mieux fait de rediriger directement vers l'adresse au lieu d'utiliser un header.
Autre note importante en PHP :
Utiliser un die apres l'appel d'un header est souvent requis car l'appel d'un header n'arrete pas la lecture du script, donc si vous avez du code PHP apres, il sera tout de meme execute meme si vous pensiez que le script aurait du s'arreter.
En esperant que ca aidera quelqu'un.
Modifié par Damarus le 12/07/2011 à 18:00
Oui moi merci bien :)
17 sept. 2012 à 09:54