Headers already sent, vraiment je ne comprend pas

Mammouth du PHP | 1353 Messages

16 janv. 2008, 14:02

Bonjour,

Je sais que cette question est très souvent abordées et j'ai testé les nombreuses réponses et rien ne fonctionne.

J'ai une page test.php composée uniquement de la ligne suivante :
<?php header("Location:index.php");?>
Il n'y a aucun espace avant, aucun après, aucun header envoyé puisque c'est la première ligne du fichier et pourtant j'ai ce message d'erreur :
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\test.php:1) in c:\program files\easyphp1-8\www\test.php on line 1
Comme vous pouvez le voir même en local avec EasyPHP cela ne fonctionne pas (sur mon serveur non plus) et je ne comprends vraiment pas pourquoi...

Merci d'avance.
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Eléphanteau du PHP | 15 Messages

16 janv. 2008, 14:17

Entre le <?php et header il y a un espace non?

Mammouth du PHP | 1353 Messages

16 janv. 2008, 14:22

Bah oui sinon y'a une erreur de syntaxe... je peux pas écrire <?phpheader ...

J'ajoute au passage que si je change ma configuration php en mettant output_buffering = On à la place de output_buffering = 0 la redirection fonctionne, mais je ne peux pas faire cela sur mon serveur et je pense que ca n'est pas utile pour une redirection avant un output quelconque...
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Eléphant du PHP | 291 Messages

16 janv. 2008, 14:30

Essaie de revenir à la ligne, sans espace :

Code : Tout sélectionner

<?php header(...); ?>

Eléphant du PHP | 259 Messages

16 janv. 2008, 14:50

Hello,

A l'intérieur des balises <?php .... ?>, le nombre d'espaces n'a aucune importance (il en faut juste un minimum de 1 pour séparer les mots quand même ;)) donc le problème ne vient pas de là.

Es tu certain qu'il n'y a aucun espace ou saut de ligne avant l'ouverture de ta balise <?php

Problème occasionnel, certains éditeurs rajoutent parfois des caractères invisibles au tout début du document, essaye de voir si ça serait pas le cas (en ouvrant avec le bloc notes par exemple)

Mammouth du PHP | 1353 Messages

16 janv. 2008, 17:44

Merci pour vos réponses.

Malheureusement il n'y a aucun espace ni avant ni après les balises, et j'édite dans le bloc note windows :(
Tell me and I forget. Teach me and I remember. Involve me and I learn.

ViPHP
ViPHP | 4039 Messages

16 janv. 2008, 17:50

même pas un retour à la ligne ?
Et dans ce style-ci ?:
<?php header("Location:htpp://127.0.0.1/index.php");?>
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Mammouth du PHP | 1353 Messages

16 janv. 2008, 17:54

Non aucun retour à la ligne...

J'ai essayé aussi avec votre code (en corrigeant htpp par http) mais c'est pareil ca ne fonctionne pas... c'est très étrange...

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

ViPHP
ViPHP | 4039 Messages

16 janv. 2008, 18:05

Et d'autres scripts php, ils marchent bien ?

Sinon fait un simple <?php ?> dans un ton fichier, et regarde la source de la page, voir s'il n'y aurait rien d'indiqué..
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Mammouth du PHP | 1353 Messages

16 janv. 2008, 18:11

Le reste des scripts fonctionne bien (dans d'autres pages, ajout/suppression de données en base) et quand je fais que <?php ?> il n'y a rien dans la source de la page...
Tell me and I forget. Teach me and I remember. Involve me and I learn.

ViPHP
ViPHP | 3607 Messages

16 janv. 2008, 19:00

Essaye avec un autre éditeur de texte pour voir (genre scite: http://www.framasoft.net/article1988.html)

Eléphant du PHP | 187 Messages

16 janv. 2008, 21:53

Deux questions :
- ce fichier n'est il aps inclu dans un autre ?
- Veux tu faire ca pour que des qu'un visiteur arrive sur cette page, il soit redirigé inconditionellement ?
Netsupra

Mammouth du PHP | 804 Messages

16 janv. 2008, 22:42

Bonsoir

header("Location:<ici un espace>lien.php"); ?
<?php 
header("Location: lien.php");
?>

Eléphant du PHP | 164 Messages

18 janv. 2008, 16:21

J'ai une idée....
Envoi moi ton fichier sur l'adresse email que je vais t'envoyer dans un message privé...

ViPHP
ViPHP | 1996 Messages

18 janv. 2008, 16:30

Bonjour,

Je sais que cette question est très souvent abordées et j'ai testé les nombreuses réponses et rien ne fonctionne.

J'ai une page test.php composée uniquement de la ligne suivante :
<?php header("Location:index.php");?>
Il n'y a aucun espace avant, aucun après, aucun header envoyé puisque c'est la première ligne du fichier et pourtant j'ai ce message d'erreur :
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\test.php:1) in c:\program files\easyphp1-8\www\test.php on line 1
Comme vous pouvez le voir même en local avec EasyPHP cela ne fonctionne pas (sur mon serveur non plus) et je ne comprends vraiment pas pourquoi...

Merci d'avance.
Avec quoi ouvre tu ton fichier ? J'ai vu certains logiciels mettre des choses avant <?php comme PSPAD.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr