[PHP] erreur dans le header

Fermé
ego - 7 janv. 2008 à 09:14
 le père - 7 janv. 2008 à 15:19
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

8 réponses

Leskate Messages postés 80 Date d'inscription lundi 11 juin 2007 Statut Membre Dernière intervention 29 mai 2008 8
7 janv. 2008 à 09:29
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
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
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
affiche $_POST['destination'] et rappelle-toi que Visualiser n'est pas la même chose que visualiser ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

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