Page 1 sur 1
Probleme de header
Posté : 20 avr. 2005, 22:46
par Fresh
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
Posté : 21 avr. 2005, 08:21
par slipndi
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 !
Posté : 21 avr. 2005, 09:04
par iclo
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
Posté : 21 avr. 2005, 10:13
par Vianney
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

Posté : 21 avr. 2005, 10:32
par Fresh
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)?
Posté : 21 avr. 2005, 10:37
par iclo
Tu as du code html qui est envoyé par ton index.php avant ton include
Posté : 21 avr. 2005, 10:39
par Fresh
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...
Posté : 21 avr. 2005, 21:56
par Invité
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?