Probleme de header

Eléphanteau du PHP | 33 Messages

20 avr. 2005, 22:46

bonjour
j'ai un probleme, depuis ce matin.Je sais comment un header fonctionne et tout, donc merci de ne pas me repondre c'est parceque t'as passé quelquechose dans le navigateur, j'ai regardé, j'ai rien trouvé

le pire est que ce header je l'ai fait en ctrl+C ctrl+v depuis une autre page que j'ai où il fonctionne parfaitement, et que la plus rien...puis une fois que ce probleme est apparu il me bloque tous mes headers(bon c'est logique je pense)


[quote="navigateur"]Warning: Cannot modify header information - headers already sent by (output started at /home/web/web/xips/index.php:11) in /home//web/web/xips/profil.php on line 4[/quote]



ce qui me tracasse dans ce message d'erreurs, ce le output started blablabla index.php:11, ca veut dire quoi ca?

est-ce que quelqu'un voit ou pourrait etre mon erreur?

parceque avant que j'ajoute cette page sur mon site, tout fonctionnait tres bien(tous mes autres headers...)

merci

Eléphant du PHP | 281 Messages

21 avr. 2005, 08:21

on peut voir ton code ca pourrai nous aider ? la je n'ai pas la moindre idée mais en voyant ton code peu être !

ViPHP
ViPHP | 2144 Messages

21 avr. 2005, 09:04

Tu as du code html qui est envoyé au browser avant l'envoit du header, alors qu'il ne peut pas en avoir.
Ca peut être un simple espace avant un <? par exemple

Eléphant du PHP | 161 Messages

21 avr. 2005, 10:13

salut,
hop hop un ptit tour dans la FAQ,
voila quelques lien qui devrait te permettre de régler ca :
les explications pourquoi ca merde
1ere fonction pour résoudre
la deuxieme

gl hf :)

Eléphanteau du PHP | 33 Messages

21 avr. 2005, 10:32

bien voila le code de mon index

Code : Tout sélectionner

<?php session_start(); ?> <html> <head> <title>Plateforme de jeu XIPS</title> <link rel=stylesheet type="text/css" media="screen" href="xips.css"> </head> <body> <div id="tete" class="tete"> <?php include("tete.php"); ?> </div> <div id="pied" class="pied"> <?php include("pied.php"); ?> </div> <div id="corps" class="corps"> <?php $laPage=$_GET['page']; $leMessage=$_GET['message']; $leMsg=urldecode($leMessage); print($leMsg); if($laPage==0){ include("accueil.php"); } if($laPage==1){ include("formenr.php"); } if($laPage==2){ include("connexion.php"); } if($laPage==3){ include("faq.php"); } if($laPage==4){ include("aide.php"); } if($laPage==5){ include("profil.php"); } if($laPage==6){ include("listejeu.php"); } if($laPage==7){ include("forum.php"); } if($laPage==8){ include("modifprofil.php"); } ?> </div> <div id="menu" class="menu"> <?php include("menu.php"); ?> </div> <div id="logo" class="logo"> <?php include("logo.php"); ?> </div> </body> </html>
voila le code de mon index.php, comme vous pouvez le voir, j'inclus mes pages dedans, et dans ces pages je refaisais un session_start() et un test au début qui verfifait si la session etait démarée, et si non, je renvoyais l'utilisateur a la page de connexion, ca marchait tres bien jusqu'a ce que je mette cette page en ligne:

Code : Tout sélectionner

<?php if (!isset ($_SESSION['pseudo']) ){ header("Location:index.php?page=2&message=".urlencode("Connectez vous")); }else{ $lePseudo=$_SESSION['pseudo']; include("connect.php"); //recuperation de l'age du joueur $requete="SELECT DDNUT FROM utilisateur WHERE loginut='$lePseudo';"; $result=mysql_query($requete,$db); $ddn=mysql_fetch_row($result); /*if($ddn[0]=="0000-00-00"){ header("Location=index.php?page=8&message=".urlencode("Vous avez besoin d'un profil a jour pour continuer")); }else{ $date=date("Y-m-d"); $today=explode("-",$date); $laDdn=explode("-",$ddn[0]);*/ //gestion de l'affichage $affiche="<h1>LES JEUX DE XIPS</h1>"; $affiche.="<i>Decouvrez un univers de jeu pour votre amusement</i>"; $affiche.="<form name='jeu' method='post' action='affichejeu.php'>"; $affiche.="<table border='0' cellspacing='5' cellpadding='5'>"; $affiche.="<tr><td class='text'>Recherche par nom</td><td><input type='text' name='nomjeu'></td></tr>"; $affiche.="<tr><td class='text'>Recherche par categorie</td><td><select name='categjeu'>"; $affiche.="<option value='0'>Toutes<option value='1'>Adresse<option value='2'>Reflexion<option value='3'>Hasard</select></td></tr>"; $affiche.="<tr><td class='text'>Recherche par classe d'age</td><td><select name='agejeu'>"; $affiche.="<option value='0'>Toutes<option value='1'>Baby<option value='2'>Junior<option value='3'>Ado"; $affiche.="<option value='4'>Adulte</select>"; $affiche.="</td></tr>"; $affiche.="<tr align='center'><td colspan='2'><input type='button' value='ok' onClick='valid()'></td></tr>"; $affiche.="</table>"; $affiche.="</form>"; include("close.php"); echo($affiche); //} } ?>
c'est la page listejeu.php a l'origine de tout...voila merci

est-ce qu'une solution serait de tout mettre en buffer dans mon index.php et de le 'libérer' uniquement à la toute fin(de l'index)?
Modifié en dernier par Fresh le 21 avr. 2005, 10:38, modifié 1 fois.

ViPHP
ViPHP | 2144 Messages

21 avr. 2005, 10:37

Tu as du code html qui est envoyé par ton index.php avant ton include

Eléphanteau du PHP | 33 Messages

21 avr. 2005, 10:39

ouais, d'accord, mais ce que je ne comprends pas, ce qui avant-hier soir, ca marchait parfaitement, et meem hier je faisais le test avec d'autres pages chez des amis, et il voyait la redirection...

Invité
Invité n'ayant pas de compte PHPfrance

21 avr. 2005, 21:56

euh un ob_start et un ob_end_flush, je les mets entre balise php et je mets du html entre ces deux fonctions, ou alors je mets mon html en variable?