[PHP] erreur dans le header

Bonjour,

j essaie de rediriger une page via un header

je suis sur une feuille TEXT.php et j envoie des donnees vers date.php
dans date.php, j ai mis en en tete
<? include "fonction.php";
if ($bouton == "voir")
{
header("location :/voir.php");
}
?>
dans fonction.php est decrit le test de la valeur envoyée par la variable $bouton. Cf

if ($_POST['destination']== "Visualiser")
{
$bouton="voir";

} else if ($_POST['destination']== "Saisir"){
$bouton="date";
} else {
$bouton="NADA";
}

quelle que soit ma syntaxe, j ai soit rien (et rien ne fonctionne) soit le message ci dessous :
Warning: Cannot modify header information - headers already sent by (output started at d:\program files\easyphp1-8\www\donati\fonction.php:3) in d:\program files\easyphp1-8\www\donati\date.php on line 4

Qui peut m aider ... ca fait qq jours que je suis sur ce pb
merci
Configuration: Windows XP
Firefox 2.0.0.11

8 réponses

  1. Super ! j ai aussi ajouté 1 parenthese dans les conditions if (($_POST etc ...
    et ca a marché du 1er coup.

    je te dois une potion de todd (ou 1 ti punch si tu preferes ;o)))
    1. header("Location: /voir.php");
      pas d'espace entre Location et :
      espace entre : et la suite
      1. j ai bien vérufié la casse, j ai meme pensé a placer le exit; apres le header pour sortir proprement.
        quand je mets le exit; la feuille se bloque (plus d'affichage de ce qui suit: j en deduis que la syntaxe est bonne, mon if ... Visualiser est lu, ca rentre dans la condition puis ca se bloque. mais la redirection n a pas fonctionné.
        quand je leve exit, ca m affiche tous mes echo de mes variables (de mes $_POST) puis la page 'date.php' continue a s afficher.
        il me semble que j avais deja eu ce pb lorsque je travaillais encore, mais je ne me souviens plus comment je m en etais sorti.
        je continue a creuser ;o))))
        merci encore
        1. affiche $_POST['destination'] et rappelle-toi que Visualiser n'est pas la même chose que visualiser ...
          1. effectivement, y avait un condensé des 2 ;o)
            d abord de la balise body et html dans la feuille fonction
            puis des lignes blanches dans fonction.
            ca c est corrigé, je n ai plus le message d erreur mais le header fonctionne pas car je ne suis pas redirigé.
            Bien que je touche le fond, je vais continuer a creuser :o) et a chercher tout azimut
            @+
            1. Bonjour

              Première remarque : la balise de début de php est <?php et non pas <?
              <? marche marchera ou ne marchera pas selon la configuration du serveur, <?php marchera toujours

              Il ne doit y avoir aucun envoi de caractère avant le header. D'après le message d'erreur, tu envoies des caractères ligne 3 de fonction.php. Tu as peut-être un simple espace ou ligne vide avant le <?php du fichier fonction.php, ou une erreur à cette ligne 3 qui fait que php envoie un message d'erreur. Tu as peut-être carrément oublié le <?php dans ce fichier ?
              1. tu ne peut modifier les informations du header QUE et uniquement si aucune autre donnée n'a été envoyée.
                En pratique, uniquement si tu n'es pas entré dans le "body".