Probléme php et header

crocxx
Invité n'ayant pas de compte PHPfrance

25 déc. 2005, 13:16

Voila j'ai un probléme avec php, et la je suis vraimen coincé
<?php
if (strstr($_SERVER['HTTP_ACCEPT '], 'application/xhtml+xml')) {
@header('Content-type: application/xhtml+xml; charset = UTF-8 ');
}
else {
@header('Content-type: text/html; charset = UTF-8 ');
}
if (!isset($_GET["p"])){
  $p = 'accueil';
}
else {
  if (file_exists("pages/$p.inc")){
    $p = $_GET["p"];
  }
  else {
    @header("HTTP/1.0 404 Not Found");
  }
}
require "pages.php";

if (strstr($_SERVER['HTTP_ACCEPT '], 'application/xhtml+xml')) {
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">';
}

else {
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
}

?>

J'optien une erreur pour chaque header de ce code (avant de rajouté les @)
(Warning: Cannot modify header information - headers already sent by (output started at)
Les navigateur acceptant application/xhtml+xml m'affiche:

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd

Je suis heberger sous OVH peu étre que ça vien de la???

Ce code php et le premier sur la page, pas d'espace avant pas d'espaces aprés.

Merci pour votre aide, jéspére. ;)

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

25 déc. 2005, 14:09

Ce code est-t-il inclus dans une autre page ?

un echo a le meme effet sur les header qu'un espace ou code HTML, à verifier s'il n'y en a pas avant.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

crocxx
Invité n'ayant pas de compte PHPfrance

25 déc. 2005, 19:27

Merci de ta réponce, mais rien avant c'est les premier ligne de ma page, et elle n'est inclu nul par. C le debut de ma page d'index.

Mammouth du PHP | 1311 Messages

25 déc. 2005, 19:47

mais nous quand meme le message complet, tu a pas un espace avant ta balise php?

ViPHP
fab
ViPHP | 2657 Messages

25 déc. 2005, 20:02

si tu as ce message c'est qu'il y a forcément quelque chose qui est envoyé à ton naviguateur avant ta fonction header()
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

crocxx
Invité n'ayant pas de compte PHPfrance

27 déc. 2005, 00:42

ya rien avant header, pas déspace, ce code php c'est le début de ma page, et ya pas d'espace.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 déc. 2005, 01:14

On peut voir le message d'erreur au complet ?!!

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Petit nouveau ! | 1 Messages

06 janv. 2006, 17:41

Bonjour !
Je remonte ce post parce que j'ai le même problème.
J'ai fait et refait la page, vidé mon cache, vérifié, rien n'y fait.

Il n'y a en ligne que deux fichiers (je suis chez ovh).
Mon fichier de connexion et mon formulaire :

En me servant du formulaire, les données vont bien dans la bdd, mais la page n'est pas ensuire redirigée vers confirmation.php. Je reste sur formulaire.php, et s'affiche le message d'erreur suivant :

Code : Tout sélectionner

Warning: Cannot modify header information - headers already sent by (output started at /home.2/stopfaut/Connections/stopfaut.php:12) in /home.2/stopfaut/www/formulaire.php on line 48
Je ne sais plus quoi faire. Est-ce que je dois supprimer tout le site et tout refaire ? Je suis sur le problème depuis ce matin et n'ai toujours pas avancé...
Si vous pouviez me filer un coup de main...
Merci !
Brigitte

EDIT : trouvé ! il y avait deux lignes vides après le ?> final de mon fichier de connexion !!!!!!!!!!