[PHP] erreur dans le header

ego -  
 le père -
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. Leskate Messages postés 80 Statut Membre 8
     
    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".
    0
  2. le père
     
    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 ?
    0
  3. ego
     
    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
    @+
    0
  4. le père
     
    affiche $_POST['destination'] et rappelle-toi que Visualiser n'est pas la même chose que visualiser ...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ego
     
    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
    0
  7. le père
     
    header("Location: /voir.php");
    pas d'espace entre Location et :
    espace entre : et la suite
    0
  8. ego
     
    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)))
    0
  9. le père
     
    T'aurais pas plutôt du gros rouge qui tache ? :D
    0