Header pourquoi ça ne fonctionne pas ??? help !
19 messages • Page 1 sur 2 • 1, 2
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
Header pourquoi ça ne fonctionne pas ??? help !
Bonjour,
j"utilise les header suivants :
if($count == 1)
{
header("Location: http://www.premiumwanadoo.com/ao1teamdo ... ration.php");
}
else
{
header("Location: http://www.premiumwanadoo.com/ao1teamdod/lhm/login.php");
}
Mais pourquoi il ne se redirige pas et me laisse le massage d'erreur suivant :
Warning: Cannot modify header information - headers already sent by (output started at /var/www/data/woo/C/C/8/A/CC8AA43K/lhm/checkpoint.php:9) in /var/www/data/woo/C/C/8/A/CC8AA43K/lhm/checkpoint.php on line 37
j"utilise les header suivants :
if($count == 1)
{
header("Location: http://www.premiumwanadoo.com/ao1teamdo ... ration.php");
}
else
{
header("Location: http://www.premiumwanadoo.com/ao1teamdod/lhm/login.php");
}
Mais pourquoi il ne se redirige pas et me laisse le massage d'erreur suivant :
Warning: Cannot modify header information - headers already sent by (output started at /var/www/data/woo/C/C/8/A/CC8AA43K/lhm/checkpoint.php:9) in /var/www/data/woo/C/C/8/A/CC8AA43K/lhm/checkpoint.php on line 37
hello,
bah tout est marqué :
bah tout est marqué :
- Code: Tout sélectionner
Warning: Cannot modify header information - headers already sent by (output started at /var/www/data/woo/C/C/8/A/CC8AA43K/lhm/checkpoint.php:9) in /var/www/data/woo/C/C/8/A/CC8AA43K/lhm/checkpoint.php on line 37
Bool a écrit:hello,
bah tout est marqué :
- Code: Tout sélectionner
Warning: Cannot modify header information - headers already sent by (output started at /var/www/data/woo/C/C/8/A/CC8AA43K/lhm/checkpoint.php:9) in /var/www/data/woo/C/C/8/A/CC8AA43K/lhm/checkpoint.php on line 37
mdr super la réponse
-

petitchevalroux - WRInaute occasionnel

- Messages: 104
- Inscription: Mer Mai 31, 2006 11:13
Ben tu as tout simplement un espace avant ton <?php header ...?>
Ou un echo ... ou toute autre chose qui envoie des données au navigateur. Regarde du cotés de ob_start() qui peut solutionné ton problème (en mettant ob_start() au tout debut de ton script)
Ou un echo ... ou toute autre chose qui envoie des données au navigateur. Regarde du cotés de ob_start() qui peut solutionné ton problème (en mettant ob_start() au tout debut de ton script)
petitchevalroux a écrit:Ben tu as tout simplement un espace avant ton <?php header ...?>
Ou un echo ... ou toute autre chose qui envoie des données au navigateur. Regarde du cotés de ob_start() qui peut solutionné ton problème (en mettant ob_start() au tout debut de ton script)
coucou
non, mais en réalité j'ai depuis regardé à droite et a gauche mais il semble que ce soit mon hébergeur qui bug. parce que j'ai test la page sur le serveur d'un poto et ça passe nikel.
Il ce peut que le php de ceux qui héberge mon site ne soit pas assez ressent
ps bool : arretes de troll tu passera moins pour un @#"{¤$]
Bah il ne passe pas pour un troll, Bool.
T'as un truc qui envoie des caractères à la ligne 37 du fichier checkpoint.php, c'est écrit dans ton message d'erreur.
Après tu ne sais peut-être pas comment fonctionnent les headers et tu n'as peut-être pas lu la doc de PHP, alors je t'en cite le passage qui te concerne :
http://fr.php.net/header
T'as un truc qui envoie des caractères à la ligne 37 du fichier checkpoint.php, c'est écrit dans ton message d'erreur.
Après tu ne sais peut-être pas comment fonctionnent les headers et tu n'as peut-être pas lu la doc de PHP, alors je t'en cite le passage qui te concerne :
N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichges PHP. Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui génèreront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards.
http://fr.php.net/header
-

UsagiYojimbo - WRInaute accro

- Messages: 5110
- Inscription: Mer Nov 23, 2005 10:38
Edouard73 a écrit:petitchevalroux a écrit:Ben tu as tout simplement un espace avant ton <?php header ...?>
Ou un echo ... ou toute autre chose qui envoie des données au navigateur. Regarde du cotés de ob_start() qui peut solutionné ton problème (en mettant ob_start() au tout debut de ton script)
coucou
non, mais en réalité j'ai depuis regardé à droite et a gauche mais il semble que ce soit mon hébergeur qui bug. parce que j'ai test la page sur le serveur d'un poto et ça passe nikel.
Il ce peut que le php de ceux qui héberge mon site ne soit pas assez ressent
ps bool : arretes de troll tu passera moins pour un @#"{¤$]
Il se peut surtout que le serveur de ton pote soit configuré de manière à ne pas afficher les warning php (ce qui est une horreur lorsqu'on veut débugger).
colonies a écrit:Bah il ne passe pas pour un troll, Bool.
T'as un truc qui envoie des caractères à la ligne 37 du fichier checkpoint.php, c'est écrit dans ton message d'erreur.
Après tu ne sais peut-être pas comment fonctionnent les headers et tu n'as peut-être pas lu la doc de PHP, alors je t'en cite le passage qui te concerne :N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichges PHP. Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui génèreront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards.
http://fr.php.net/header
enfin, j'ai eu gain de cause. ça vient bien de mon hébergeur qui ne proposent pas l'option. mais merci pour le petit cour ça n'est que la 10 eme fois que je le voie
enfin, j'ai trouvé une petite solution pour contourner le probleme
<?php
echo "<script language='Javascript'>document.location='http://www.okpc.fr/croisesimperiaux/v3/index.php'</script>";
?>
ce qui remplace le header
-

UsagiYojimbo - WRInaute accro

- Messages: 5110
- Inscription: Mer Nov 23, 2005 10:38
Edouard73 a écrit:colonies a écrit:Bah il ne passe pas pour un troll, Bool.
T'as un truc qui envoie des caractères à la ligne 37 du fichier checkpoint.php, c'est écrit dans ton message d'erreur.
Après tu ne sais peut-être pas comment fonctionnent les headers et tu n'as peut-être pas lu la doc de PHP, alors je t'en cite le passage qui te concerne :N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichges PHP. Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui génèreront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards.
http://fr.php.net/header
enfin, j'ai eu gain de cause. ça vient bien de mon hébergeur qui ne proposent pas l'option. mais merci pour le petit cour ça n'est que la 10 eme fois que je le voie
enfin, j'ai trouvé une petite solution pour contourner le probleme
<?php
echo "<script language='Javascript'>document.location='http://www.okpc.fr/croisesimperiaux/v3/index.php'</script>";
?>
ce qui remplace le header
Sauf que si tu faisais cette redirection à des fins de référencement, c'est raté.
Les moteurs ne suivent pas les redirections javascript.
stop à la désinformation. le message d'erreur est clair, tu affiche du code HTML avant de faire la redirection serveur, donc cela bloque. cela marche chez ton pote car son hébergeur est trop laxiste, il permet de faire n'importe quoi. remplacer la redirection serveur apr une redirection navigateur en js est une très mauvaise solution, en plus de pas être apprécié des moteurs, elle ne fonctionnera pas si les internautes n'ont pas le js d'activé. tu dois débugguer ton code pour voir pourquoi tu envoi du html avant d'exécuter ton header("location: "), seule manière de garder ton code propre et fonctionnel dans 100% des cas
e-kiwi a écrit:stop à la désinformation. le message d'erreur est clair, tu affiche du code HTML avant de faire la redirection serveur, donc cela bloque. cela marche chez ton pote car son hébergeur est trop laxiste, il permet de faire n'importe quoi. remplacer la redirection serveur apr une redirection navigateur en js est une très mauvaise solution, en plus de pas être apprécié des moteurs, elle ne fonctionnera pas si les internautes n'ont pas le js d'activé. tu dois débugguer ton code pour voir pourquoi tu envoi du html avant d'exécuter ton header("location: "), seule manière de garder ton code propre et fonctionnel dans 100% des cas
sauf que j'ai fais le test suivant :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
<?php header("fonction: http://www.okpc.fr/croisesimperiaux/v3/index.php") ?>
</body>
</html>
Et sur mon hébergeur ça ne passe pas. j'ai le même message d'erreur alors que sur le serv de mon ami ça passe tranqu'il alors qu'il n'y a pas de chose qui pourrait gener ce déclenchement
Edouard73 a écrit:UsagiYojimbo a écrit:Edouard73 a écrit:colonies a écrit:Bah il ne passe pas pour un troll, Bool.
T'as un truc qui envoie des caractères à la ligne 37 du fichier checkpoint.php, c'est écrit dans ton message d'erreur.
Après tu ne sais peut-être pas comment fonctionnent les headers et tu n'as peut-être pas lu la doc de PHP, alors je t'en cite le passage qui te concerne :N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichges PHP. Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui génèreront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards.
http://fr.php.net/header
enfin, j'ai eu gain de cause. ça vient bien de mon hébergeur qui ne proposent pas l'option. mais merci pour le petit cour ça n'est que la 10 eme fois que je le voie
enfin, j'ai trouvé une petite solution pour contourner le probleme
<?php
echo "<script language='Javascript'>document.location='http://www.okpc.fr/croisesimperiaux/v3/index.php'</script>";
?>
ce qui remplace le header
Sauf que si tu faisais cette redirection à des fins de référencement, c'est raté.
Les moteurs ne suivent pas les redirections javascript.
non non pas du tout c'est un exemple en faite.
parce que l'origine de mon probleme est la redirection d'une page suite à l'activation d'un login et mp en php/mysql. mais comme le header ne fonctionne pas pour faire cette redirection, j'ai utilisé du js pour faire cette redirection. qui marche parfaitement d'ailleur
>> alors qu'il n'y a pas de chose qui pourrait gener ce déclenchement
tu as mal compris ce qu'on te dis, ton code est faux, ton <?php header("fonction: http://www.okpc.fr/croisesimperiaux/v3/index.php") ?> doit etre placé avant ton doctype, html, head, meta, ... c'est ce qu'on te dis depuis tout à l heure, tu ne peux pas faire de header() APRES tout code html
tu as mal compris ce qu'on te dis, ton code est faux, ton <?php header("fonction: http://www.okpc.fr/croisesimperiaux/v3/index.php") ?> doit etre placé avant ton doctype, html, head, meta, ... c'est ce qu'on te dis depuis tout à l heure, tu ne peux pas faire de header() APRES tout code html
19 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Gérer l'entête HTTP en PHP
- Incidence du PHP sur le référencement
- Aperçu des différents types de redirection
- Comment créer une page web en PHP
- Le référencement de pages PHP
- Référencement : le problème des sessions des pages PHP
- TouchGraph GoogleBrowser v1.0
- Google affiche des liens vers des plans de villes
- HTML 5 : quel impact sur le référencement ?
- A propos des redirections sauvages (302)
- Test du code HTTP d'une page
Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée. - Tester la validité d'un lien
Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


le forum