Erreur ...
Résoluj'aurais besoin que quelqu'un m'explique à quoi correspond ce message d'erreur SVP :
Warning: Cannot modify header information - headers already sent by (output started at F:\Site PHP\EasyPHP 3.0\www\Cineco.fr\titre.php:14) in F:\Site PHP\EasyPHP 3.0\www\Cineco.fr\resultats_recherche.php on line 206
Merci d'avance
--
Cinéco.fr | Le site Cinéphile!
www.cineco.fr
Configuration: Windows Firefox 3.0.11
26 réponses
Le message d'erreur décrit un envoi d'en-têtes HTTP après que du contenu a été envoyé, ce qui se produit fréquemment lorsque une page PHP appelle header() après avoir produit du texte ou du HTML. Dans le fil, les solutions les plus pertinentes consistent à déplacer l'appel header() avant tout affichage, vérifier l'absence d'espaces ou de caractères avant <?php, et vérifier les fichiers inclus pour éviter toute sortie prématurée. D'autres échanges suggèrent d'activer l'output buffering ou de corriger des détails comme la présence d'un BOM dans un fichier, car ils provoquent aussi l'envoi préalable d'une sortie et bloquent les redirections via header.
-
J'ai remanier le code et le tout fonctionne.
Merci quand même à vous. -
Oué mé je ne voi pas comment !!!
-
Alors, si tu tiens à utiliser le header; il faut que tu revoies l'organisation de ton code.
-
non car en php tu voi pas la page entre "les rediction) alors que JS sil y a des donnée avant ce code, il affiche et après il redirige, et c'est pas propre !
-
En terme de vitesse , c'est sensiblement la même chose.
-
oui mais je ne vois pas comment utiliser le header afin d'avoir un redirection plus rapide que le java!!
tu n'aurais pas une idée de la procédure? -
Ouf, je n'aurais pas le temps de relire tout ça...
Seulement, tu vois bien qu'ici tu envoie le header à la fin du code alors que d'autres infos ont déjà été envoyées.
-
Et a la place de
<code<SCRIPT LANGUAGE="JavaScript">document.location.href="accueil.php?valeur=1"</script>></code>
c'est normalement
header("Location: accueil.php?valeur=1") ; -
ok je te passe le code de ma page de recherche :
<?php if(isset($_POST['champrecherche'])) { $champrecherche = $_POST['champrecherche']; $typerecherche = $_POST['typerecherche'];} $champrecherche = trim($champrecherche); if($champrecherche!=''){ $nbr_film=0; $nbr_cm=0; if($typerecherche == 1){ include('tts/include/top.php');?> <div id="milieu"> <div id="corp"> <div id="lienh"> <?php $sql = 'SELECT * FROM liens'; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($data = mysql_fetch_assoc($req)) { echo' <a href="'.$data['accueil_site'].'">Accueil</a>'; }?> </div> <div id="corp_box"> <div id="corp_boxh"></div> <div id="txt_corp"> <div id="box"> <div id="box_anghg"></div> <div id="box_anghd"></div> <div id="text" class="txt_ncenter"> Votre recherche </div> <div id="bas-box"> <div id="box_angbg"></div> <div id="box_angbd"></div> </div> </div> <div id="box"> <div id="box_anghg"></div> <div id="box_anghd"></div> <div id="text" class="txt_ncenter"> <?php echo $champrecherche;?> </div> <div id="bas-box"> <div id="box_angbg"></div> <div id="box_angbd"></div> </div> </div> <div id="box_bleu"> <div id="box_anghg"></div> <div id="box_anghd"></div> <div id="text"> <?php //--------------------// $requete = "SELECT COUNT(*) as nbr_film FROM info_film WHERE id_info_film!='1' AND nom LIKE '".$champrecherche."'"; $reponse = mysql_query($requete) or die('Erreur SQL !<br/>'.$requete.'<br/>'.mysql_error()); $reponse= mysql_fetch_array($reponse); if ($reponse['nbr_film']>0){ echo'<u>Films : ('.$reponse['nbr_film'].')</u>'; $sql = "SELECT * FROM info_film WHERE id_info_film!='1' AND nom LIKE '".$champrecherche."' ORDER BY id_info_film"; $req = mysql_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br/>'.mysql_error()); while($data = mysql_fetch_assoc($req)){ echo '<br/><a href="film/film.php?yourtabsmenu=fiche&fiche='.$data['id_info_film'].'#fiche">'.$data['nom'].'</a>'; } $nbr_film = 1; }else{ $nbr_film = 0; } //--------------------// $requete = "SELECT COUNT(*) as nbr_cm FROM info_court WHERE nom_court LIKE '".$champrecherche."'"; $reponse = mysql_query($requete) or die('Erreur SQL !<br/>'.$requete.'<br/>'.mysql_error()); $reponse= mysql_fetch_array($reponse); if ($reponse['nbr_cm']>0){ echo'<br/><br/><u>Court métrage : ('.$reponse['nbr_cm'].')</u>'; $sql = "SELECT * FROM info_court WHERE nom_court LIKE '".$champrecherche."' ORDER BY id_info_court"; $req = mysql_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br/>'.mysql_error()); while($data = mysql_fetch_assoc($req)){ echo '<br/><a href="cm/court.php?courttabsmenu=fiche&fichecourt='.$data['id_info_court'].'#fiche">'.$data['nom_court'].'</a>'; } $nbr_cm = 1; }else{ $nbr_cm = 0; } if(($nbr_film==0) AND ($nbr_cm==0)){ ?>Aucunes donné redirection <SCRIPT LANGUAGE="JavaScript">document.location.href="accueil.php?valeur=1"</script><?php //echo'<div class="txt_ncenter">Nous sommes désolés mais <br/>nous n\'avons trouvé aucun résultat pour votre recherche</div>'; } //--------------------//?> </div> <div id="bas-box"> <div id="box_angbg"></div> <div id="box_angbd"></div> </div> </div> </div> <div id="corp_boxb"></div> </div> </div> <?php include('tts/include/right.php');?> </div> <?php include('tts/include/bottom.php'); }else{ if($typerecherche == 2){ include('tts/include/top.php');?> <div id="milieu"> <div id="corp"> <div id="lienh"> <?php $sql = 'SELECT * FROM liens'; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($data = mysql_fetch_assoc($req)) { echo' <a href="'.$data['accueil_site'].'">Accueil</a>'; }?> </div> <div id="corp_box"> <div id="corp_boxh"></div> <div id="txt_corp"> <div id="box"> <div id="box_anghg"></div> <div id="box_anghd"></div> <div id="text" class="txt_ncenter"> Votre recherche </div> <div id="bas-box"> <div id="box_angbg"></div> <div id="box_angbd"></div> </div> </div> <div id="box"> <div id="box_anghg"></div> <div id="box_anghd"></div> <div id="text" class="txt_ncenter"> <?php echo $champrecherche;?> </div> <div id="bas-box"> <div id="box_angbg"></div> <div id="box_angbd"></div> </div> </div> <div id="box_bleu"> <div id="box_anghg"></div> <div id="box_anghd"></div> <div id="text"> <?php $mots = explode(" ", $champrecherche); $nombre_mots = count($mots); $valreq_film = ''; for($nombre_mots_boucle = 0; $nombre_mots_boucle < $nombre_mots; $nombre_mots_boucle++) //tant que le nombre de mots de la recherche est supérieur à celui de la boucle, on continue en augmentant la variable $nombre_mots_boucle de 1 à chaque fois { $valreq_film .= ' AND nom LIKE \'%' . $mots[$nombre_mots_boucle] . '%\''; //modification de la variable $valreq_film } //$valreq_film = ltrim($valreq_film,' AND'); //suppression de AND au début de la boucle //--------------------// $requete = "SELECT COUNT(*) as nbr_film FROM info_film WHERE id_info_film!='1' ".$valreq_film.""; $reponse = mysql_query($requete) or die('Erreur SQL !<br/>'.$requete.'<br/>'.mysql_error()); $reponse= mysql_fetch_array($reponse); if ($reponse['nbr_film']>0){ echo'<u>Films : ('.$reponse['nbr_film'].')</u>'; $sql = "SELECT * FROM info_film WHERE id_info_film!='1' ".$valreq_film." ORDER BY id_info_film"; $req = mysql_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br/>'.mysql_error()); while($data = mysql_fetch_assoc($req)){ echo '<br/><a href="film/film.php?yourtabsmenu=fiche&fiche='.$data['id_info_film'].'#fiche">'.$data['nom'].'</a>'; } $nbr_film = 1; }else{ $nbr_film = 0; } $valreq_cm = ''; for($nombre_mots_boucle = 0; $nombre_mots_boucle < $nombre_mots; $nombre_mots_boucle++) //tant que le nombre de mots de la recherche est supérieur à celui de la boucle, on continue en augmentant la variable $nombre_mots_boucle de 1 à chaque fois { $valreq_cm .= ' AND nom_court LIKE \'%' . $mots[$nombre_mots_boucle] . '%\''; //modification de la variable $valreq_cm } $valreq_cm = ltrim($valreq_cm,' AND'); //suppression de AND au début de la boucle //--------------------// $requete = "SELECT COUNT(*) as nbr_cm FROM info_court WHERE ".$valreq_cm.""; $reponse = mysql_query($requete) or die('Erreur SQL !<br/>'.$requete.'<br/>'.mysql_error()); $reponse= mysql_fetch_array($reponse); if ($reponse['nbr_cm']>0){ echo'<br/><br/><u>Court métrage : ('.$reponse['nbr_cm'].')</u>'; $sql = "SELECT * FROM info_court WHERE ".$valreq_cm." ORDER BY id_info_court"; $req = mysql_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br/>'.mysql_error()); while($data = mysql_fetch_assoc($req)){ echo '<br/><a href="cm/court.php?courttabsmenu=fiche&fichecourt='.$data['id_info_court'].'#fiche">'.$data['nom_court'].'</a>'; } $nbr_cm = 1; }else{ $nbr_cm = 0; } if(($nbr_film==0) AND ($nbr_cm==0)){ ?>Aucunes donné redirection <SCRIPT LANGUAGE="JavaScript">document.location.href="accueil.php?valeur=1"</script><?php //echo'<div class="txt_ncenter">Nous sommes désolés mais <br/>nous n\'avons trouvé aucun résultat pour votre recherche</div>'; } //--------------------// ?> </div> <div id="bas-box"> <div id="box_angbg"></div> <div id="box_angbd"></div> </div> </div> </div> <div id="corp_boxb"></div> </div> </div> <?php include('tts/include/right.php');?> </div> <?php include('tts/include/bottom.php'); }else{ if($typerecherche == 3){ include('tts/include/top.php');?> <div id="milieu"> <div id="corp"> <div id="lienh"> <?php $sql = 'SELECT * FROM liens'; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($data = mysql_fetch_assoc($req)) { echo' <a href="'.$data['accueil_site'].'">Accueil</a>'; }?> </div> <div id="corp_box"> <div id="corp_boxh"></div> <div id="txt_corp"> <div id="box"> <div id="box_anghg"></div> <div id="box_anghd"></div> <div id="text" class="txt_ncenter"> Votre recherche </div> <div id="bas-box"> <div id="box_angbg"></div> <div id="box_angbd"></div> </div> </div> <div id="box"> <div id="box_anghg"></div> <div id="box_anghd"></div> <div id="text" class="txt_ncenter"> <?php echo $champrecherche;?> </div> <div id="bas-box"> <div id="box_angbg"></div> <div id="box_angbd"></div> </div> </div> <div id="box_bleu"> <div id="box_anghg"></div> <div id="box_anghd"></div> <div id="text"> <?php $mots = explode(" ", $champrecherche); $nombre_mots = count($mots); $valreq_film = ''; for($nombre_mots_boucle = 0; $nombre_mots_boucle < $nombre_mots; $nombre_mots_boucle++) //tant que le nombre de mots de la recherche est supérieur à celui de la boucle, on continue en augmentant la variable $nombre_mots_boucle de 1 à chaque fois { $valreq_film .= ' OR nom LIKE \'%' . $mots[$nombre_mots_boucle] . '%\''; //modification de la variable $valreq_film } $valreq_film = ltrim($valreq_film,' OR'); //suppression de AND au début de la boucle //--------------------// $requete = "SELECT COUNT(*) as nbr_film FROM info_film WHERE id_info_film!='1' AND (".$valreq_film.")"; $reponse = mysql_query($requete) or die('Erreur SQL !<br/>'.$requete.'<br/>'.mysql_error()); $reponse= mysql_fetch_array($reponse); if ($reponse['nbr_film']>0){ echo'<u>Films : ('.$reponse['nbr_film'].')</u>'; $sql = "SELECT * FROM info_film WHERE id_info_film!='1' AND (".$valreq_film.") ORDER BY id_info_film"; $req = mysql_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br/>'.mysql_error()); while($data = mysql_fetch_assoc($req)){ echo '<br/><a href="film/film.php?yourtabsmenu=fiche&fiche='.$data['id_info_film'].'#fiche">'.$data['nom'].'</a>'; } $nbr_film = 1; }else{ $nbr_film = 0; } $valreq_cm = ''; for($nombre_mots_boucle = 0; $nombre_mots_boucle < $nombre_mots; $nombre_mots_boucle++) //tant que le nombre de mots de la recherche est supérieur à celui de la boucle, on continue en augmentant la variable $nombre_mots_boucle de 1 à chaque fois { $valreq_cm .= ' OR nom_court LIKE \'%' . $mots[$nombre_mots_boucle] . '%\''; //modification de la variable $valreq_cm } $valreq_cm = ltrim($valreq_cm,' OR'); //suppression de AND au début de la boucle //--------------------// $requete = "SELECT COUNT(*) as nbr_cm FROM info_court WHERE ".$valreq_cm.""; $reponse = mysql_query($requete) or die('Erreur SQL !<br/>'.$requete.'<br/>'.mysql_error()); $reponse= mysql_fetch_array($reponse); if ($reponse['nbr_cm']>0){ echo'<br/><br/><u>Court métrage : ('.$reponse['nbr_cm'].')</u>'; $sql = "SELECT * FROM info_court WHERE ".$valreq_cm." ORDER BY id_info_court"; $req = mysql_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br/>'.mysql_error()); while($data = mysql_fetch_assoc($req)){ echo '<br/><a href="cm/court.php?courttabsmenu=fiche&fichecourt='.$data['id_info_court'].'#fiche">'.$data['nom_court'].'</a>'; } $nbr_cm = 1; }else{ $nbr_cm = 0; } if(($nbr_film==0) AND ($nbr_cm==0)){ ?>Aucunes donné redirection <SCRIPT LANGUAGE="JavaScript">document.location.href="accueil.php?valeur=1"</script><?php //echo'<div class="txt_ncenter">Nous sommes désolés mais <br/>nous n\'avons trouvé aucun résultat pour votre recherche</div>'; } //--------------------// ?> </div> <div id="bas-box"> <div id="box_angbg"></div> <div id="box_angbd"></div> </div> </div> </div> <div id="corp_boxb"></div> </div> </div> <?php include('tts/include/right.php');?> </div> <?php include('tts/include/bottom.php'); }else{ header("Location: accueil.php?valeur=0") ; }} } }else{ header("Location: accueil.php?valeur=0") ; }?>
-
Ben faut le déplacer dans le code de ta page. Il me faudrait un peu de code pour te répondre mieux...
-
j'ai vu dans mon code que le header en premier fonctionne car j'en ai un.
Mais du coup pour celui là, j'ai besoin de le mettre en débu de code, donc comment je fais? -
Cette fonction doit être utilisée avant tout envoi au navigateur cible. L'erreur t'indique qu'il y a déjà eu un envoi.
Pour tester, met ce header en début de code (ligne 1) et tu verras qu'il fonctionne.
En gros header doit être utiliser avant tout code HTML ou tout code PHP qui écrit dans ta page.
Histoire d'être plus clair, je vais mettre quelques exemples:
Ce code marche:<? Header("Location: accueil.php") ; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Celui la non car tu a déjà envoyé toto au client:<body> toto <? Header("Location: accueil.php") ; ?>
Celui la non plus car php à déjà écrit quelque chose dans la page:<? echo 'toto'; Header("Location: accueil.php") ; ?> -
Ok merci beacou^p
si je trouve un autre moyen je tien au courant ! -
Bin en faite je vois pas du tout pkoi ton header ne fonctionne pas d'autant plus si t l'a utilisé sur d'autre page....
Et non dsl je ne connais rien d'autre.... -
C'est bizarre car dans d'autres pages, j'utilise header aussi et sa fonctionne !!
Autrement, y'aurais pas un moyen pour redirigé plus rapidement? -
Aucune idée. Peut-etre un problème avec easy php ....
-
Sa fonctionne mais, c'est long pour changé de page !
Tu c'est pourquoi sa ne fonctionne pas le header? -
essaye ça
<script language="javascript">
document.location.replace("accueil.php?valeur=1");
</script> -
Idem toujour pas, même un lien internet ne fonctionne pas !
-
et avec le lien complet
Header("Location: F:\Site PHP\EasyPHP 3.0\www\Cineco.fr\accueil.php") ; ???
- 1
- 2