[PHP] erreur dans le header
ego
-
le père -
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
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
-
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". -
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 ? -
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
@+ -
affiche $_POST['destination'] et rappelle-toi que Visualiser n'est pas la même chose que visualiser ...
-
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 -
-
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))) -