[PHP] problème header
Résolu/Fermé
netanonima
Messages postés
36
Date d'inscription
vendredi 26 décembre 2008
Statut
Membre
Dernière intervention
3 février 2013
-
7 août 2009 à 20:36
netanonima Messages postés 36 Date d'inscription vendredi 26 décembre 2008 Statut Membre Dernière intervention 3 février 2013 - 9 août 2009 à 19:35
netanonima Messages postés 36 Date d'inscription vendredi 26 décembre 2008 Statut Membre Dernière intervention 3 février 2013 - 9 août 2009 à 19:35
A voir également:
- [PHP] problème header
- Easy php - Télécharger - Divers Web & Internet
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Request header or cookie too large ✓ - Forum Réseaux sociaux
- \R php ✓ - Forum PHP
- Php?id=1 - Forum PHP
12 réponses
Bonjour
La fonction viewheader envoie des données au client.
À partir de ce moment, tu ne peux pus envoyer de header HTPP : ce n'est pas une question de php ni de HTML, c'est le protocole HTTP qui est fait comme ça.
Or, la fonction session_start(); que tu utilises ensuite fait appel aux headers http : tu n'a plus le droit de l'appeler à ce moment là.
Il n'y a pas deux façons de t'en sortir : il FAUT avoir appelé session_start AVANT d'appeler viewheader.
Au passage, tu parles de "balise header". Cette balise n'existe pas. En HTML, il existe une balise <head>. Elle n'a aucun rapport avec les headers du protocole HTTP.
La fonction viewheader envoie des données au client.
À partir de ce moment, tu ne peux pus envoyer de header HTPP : ce n'est pas une question de php ni de HTML, c'est le protocole HTTP qui est fait comme ça.
Or, la fonction session_start(); que tu utilises ensuite fait appel aux headers http : tu n'a plus le droit de l'appeler à ce moment là.
Il n'y a pas deux façons de t'en sortir : il FAUT avoir appelé session_start AVANT d'appeler viewheader.
Au passage, tu parles de "balise header". Cette balise n'existe pas. En HTML, il existe une balise <head>. Elle n'a aucun rapport avec les headers du protocole HTTP.
netanonima
Messages postés
36
Date d'inscription
vendredi 26 décembre 2008
Statut
Membre
Dernière intervention
3 février 2013
1
8 août 2009 à 05:11
8 août 2009 à 05:11
Mais session start est appelé avant view header....
Une autre idée?
Une autre idée?
Mais session start est appelé avant view header
Es-tu sûr que le viewheader(); de la ligne 6 n'est pas exécuté ?
La ligne 511 de config.php correspond bien à la fonction viewheader, sinon à quoi ?
Es-tu conscient que tes deux conditions if (!$HTTP_COOKIE_VARS['username'] || !$HTTP_COOKIE_VARS['smartid'])
et if ($HTTP_COOKIE_VARS['username'] || $HTTP_COOKIE_VARS['smartid'])
ne sont pas complémentaires l'une de l'autre ? Elle peuvent très bien être toutes les deux vraies, par exemple si $HTTP_COOKIE_VARS['username'] est défini et pas $HTTP_COOKIE_VARS['smartid'].
Enfin, le tableau $HTTP_COOKIE_VARS est obsolète, tu devrais utiliser $_COOKIE
Es-tu sûr que le viewheader(); de la ligne 6 n'est pas exécuté ?
La ligne 511 de config.php correspond bien à la fonction viewheader, sinon à quoi ?
Es-tu conscient que tes deux conditions if (!$HTTP_COOKIE_VARS['username'] || !$HTTP_COOKIE_VARS['smartid'])
et if ($HTTP_COOKIE_VARS['username'] || $HTTP_COOKIE_VARS['smartid'])
ne sont pas complémentaires l'une de l'autre ? Elle peuvent très bien être toutes les deux vraies, par exemple si $HTTP_COOKIE_VARS['username'] est défini et pas $HTTP_COOKIE_VARS['smartid'].
Enfin, le tableau $HTTP_COOKIE_VARS est obsolète, tu devrais utiliser $_COOKIE
netanonima
Messages postés
36
Date d'inscription
vendredi 26 décembre 2008
Statut
Membre
Dernière intervention
3 février 2013
1
9 août 2009 à 15:59
9 août 2009 à 15:59
Mais ma question est : pourquoi ce script fonctionne dans une autres répertoire mais pas ici... Ces commentaires n'y répondent pas...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lecube
Messages postés
304
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
13 avril 2010
54
9 août 2009 à 16:09
9 août 2009 à 16:09
Bonjour,
A quoi correspond la ligne 511 dans config.php ?
On a souvent cette erreur car une ligne est "printé" bien avant que ta page soit initialise. Ce qui importe c'est de voir cette ligne "output started at /mnt/sites/altordj.com/web/poker/05/config.php:511"
A+
A quoi correspond la ligne 511 dans config.php ?
On a souvent cette erreur car une ligne est "printé" bien avant que ta page soit initialise. Ce qui importe c'est de voir cette ligne "output started at /mnt/sites/altordj.com/web/poker/05/config.php:511"
A+
netanonima
Messages postés
36
Date d'inscription
vendredi 26 décembre 2008
Statut
Membre
Dernière intervention
3 février 2013
1
9 août 2009 à 18:12
9 août 2009 à 18:12
Il n'y a que 256lignes à config.php
Concernant la complémentarité des conditions c'est du chinois pour moi... j'ai pompé le script...
je suis un newbie de la programmation...
Concernant la complémentarité des conditions c'est du chinois pour moi... j'ai pompé le script...
je suis un newbie de la programmation...
Si le PHP dit que les sorties on commencé ligne 511, on peut légitimement supposer qu'il y a au moins 511 lignes. Je ne suis pas newbie et je n'ai jamais vu php se tromper à compter les lignes.
Peut-être y a-t-il un autre fichier config.php dans ton site. Nous parlons bien de celui qui est dans le répertoire /mnt/sites/altordj.com/web/poker/05/ ?
Peut-être y a-t-il un autre fichier config.php dans ton site. Nous parlons bien de celui qui est dans le répertoire /mnt/sites/altordj.com/web/poker/05/ ?
netanonima
Messages postés
36
Date d'inscription
vendredi 26 décembre 2008
Statut
Membre
Dernière intervention
3 février 2013
1
9 août 2009 à 18:50
9 août 2009 à 18:50
En effet 509 lignes.....dsl
mais pas 511 lol :
mais pas 511 lol :
<?php $dbhost = "XXXX"; $dblogin = "XXXX"; $dbpassword = "XXXX"; $dbname = "XXXX"; $dbtable = "XXXX"; $imgs_folder = "XXXX"; $max="20"; $champsrequis = "Des champs n'ont pas été remplis.<br>"; $usermaxcar = "20 caractères maximum pour le pseudo.<br>"; $usermincar = "3 caractères minimum pour le pseudo.<br>"; $usercar = "Le pseudo doit contenir des lettres.<br>"; $userspc = "Le pseudo ne doit pas comporter d'espace"; $passmaxcar = "10 caractères maximum pour le mot de passe.<br>"; $passmincar = "5 caractères minimum pour le mot de passe.<br>"; $passspc = "Le mot de passe ne doit pas comporter d'espace<br>"; $wrongident = "Mauvais identifiants.<br>"; $usernamepris = "Ce pseudo est déjà utilisé, merci d'en choisir un autre.<br>"; $emailpris = "Cette adresse email est déjà utilisée, merci d'en choisir une autre.<br>"; function db_connect() { global $dbhost,$dblogin,$dbpassword,$dbname,$dbtable; $db = mysql_connect($dbhost, $dblogin, $dbpassword); mysql_select_db($dbname,$db); } function compteur() { global $dbhost,$dblogin,$dbpassword,$dbname,$dbtable; $query = "SELECT * FROM $dbtable"; $result = mysql_query($query); $nrows=@mysql_num_rows($result); echo "<b>$nrows</b> membres enregistrés"; } function popu() { global $dbhost,$dblogin,$dbpassword,$dbname,$dbtable; $query = "SELECT id,username,clicks,date_reg FROM $dbtable ORDER BY clicks DESC, username LIMIT 0,10"; $exec = mysql_query ($query); while ($result = mysql_fetch_array ($exec)) { $myid = $result["id"]; $username = $result["username"]; $clicks = $result["clicks"]; $date = $result["date_reg"]; $annee = date("Y", $date); $mois = date("m", $date); $jour = date("d", $date); $heures = date("H", $date); $minutes = date("i", $date); $date = $jour."/".$mois."/".$annee." à ".$heures."h".$minutes; if ($clicks > "20") echo"<img src='puce_red.gif' border='0'> <a href=\"javascript:enter('fiche_membre.php?id=$myid','fiche','300','400')\" onMouseOver=\"status='ouvrir'; return true;\" onMouseOut=\"status='';\"><b>$username</b></a> - ($date) - ($clicks hits)<br>"; else echo"<img src='puce_green.gif' border='0'> <a href=\"javascript:enter('fiche_membre.php?id=$myid','fiche','300','400')\" onMouseOver=\"status='ouvrir'; return true;\" onMouseOut=\"status='';\"><b>$username</b></a> - ($date) - ($clicks hits)<br>"; } } function lastmembres() { global $dbhost,$dblogin,$dbpassword,$dbname,$dbtable; $query = "SELECT id,username,clicks,date_reg FROM $dbtable ORDER BY date_reg DESC LIMIT 0,5"; $exec = mysql_query ($query); while ($result = mysql_fetch_array ($exec)) { $myid = $result["id"]; $username = $result["username"]; $clicks = $result["clicks"]; $date = $result["date_reg"]; $annee = date("Y", $date); $mois = date("m", $date); $jour = date("d", $date); $heures = date("H", $date); $minutes = date("i", $date); $date = $jour."/".$mois."/".$annee." à ".$heures."h".$minutes; if ($clicks > "50") echo"<img src='puce_red.gif' border='0'> <a href=\"javascript:enter('fiche_membre.php?id=$myid','fiche','300','400')\" onMouseOver=\"status='ouvrir'; return true;\" onMouseOut=\"status='';\"><b>$username</b></a> - ($date) - ($clicks hits)<br>"; else echo"<img src='puce_green.gif' border='0'> <a href=\"javascript:enter('fiche_membre.php?id=$myid','fiche','300','400')\" onMouseOver=\"status='ouvrir'; return true;\" onMouseOut=\"status='';\"><b>$username</b></a> - ($date) - ($clicks hits)<br>"; } } function selectall() { global $dbhost,$dblogin,$dbpassword,$dbname,$dbtable; $requete = mysql_query("SELECT * FROM $dbtable ORDER BY username"); $total = mysql_numrows($requete); echo"<select name=\"MenuPop\" onChange=\"sel=this.options[this.selectedIndex].value;if (sel){twPopUp(sel,'MonPop','300','400',0)}\">"; echo"<option>---------------------</option>"; $i = 0; while ($i < $total) { $username = mysql_result($requete,$i,"username"); $myid = mysql_result($requete,$i,"id"); echo "<option value='fiche_membre.php?id=$myid'>$username</option>"; $i++; } echo "</select>"; } function viewheader() { echo"<html><head><title></title><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'><link rel='stylesheet' href='style.css' type='text/css'><script type='text/javascript' language='JavaScript' src='fonctions.js'></script></head><body text='#000000' link='#000000' vlink='#000000' alink='#000000' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0'><br>"; } function viewfooter() { echo"</body></html>"; } function view_login_form() { echo" <form action='login.php' method='post'> <table border='0' cellspacing='0' cellpadding='5' align='center' class='textfield2' width='200'> <tr> <td colspan='2' align='center'><b>Connexion</b><br> </td> </tr> <tr> <td colspan='2' align='center'>Identifiant <input type='text' class='textfield' name='username'> </td> </tr> <tr> <td colspan='2' align='center'>Mot de passe <input type='password' class='textfield' name='password'> </td> </tr> <tr><td colspan='2' align='center'><input type='submit' name='submit' value='ok' class='textfield'> <br> <a href='lostpw.php'>Mot de passe perdu</a><br> <a href='register.php' target='ifgauche'>Nouvel utilisateur</a><br> </td> </tr></form></table> "; } function view_pw_form() { echo"<table border='0' cellspacing='0' cellpadding='10' align='center' class='textfield2' width='200'><tr><td colspan='2' align='center'><b>Mot de passe perdu</b><br><br>"; echo"<font>Entrez l'adresse e-mail que vous avez fournie lors de votre inscription,"; echo"<br>votre mot de passe vous sera alors envoyé à cette même adresse"; echo"</h2>"; echo"</font>"; echo"<form action='lostpw.php' method='post'>"; echo"<font><b>Cette adresse n'existe pas sur ce site</b></font><br>"; echo"<input class=textfield type=text name=email size='20'>"; echo"<br>"; echo"<input type='submit' class='textfield' name='submit' value='ok'>"; echo"</form>"; echo"</td></tr></table>"; } function nav($nbtotal, $nbenr, $cfg_nbres_ppage, $debut, $cfg_nb_pages, $criteres) { $lien_on = ' <A HREF="{cible}">{lien}</A> '; $lien_off = ' {lien} '; $query = $criteres.'&debut='; if ($debut >= $cfg_nbres_ppage) { $cible = $query.(0); $fleches = "<<"; $lien = str_replace('{lien}', $fleches, $lien_on); $lien = str_replace('{cible}', $cible, $lien); } else { $fleches = "<<"; $lien = str_replace('{lien}', $fleches, $lien_off); } $barre .= $lien." "; if ($debut >= $cfg_nbres_ppage) { $cible = $query.($debut-$cfg_nbres_ppage); $fleches = "<"; $lien = str_replace('{lien}', $fleches, $lien_on); $lien = str_replace('{cible}', $cible, $lien); } else { $fleches = "<"; $lien = str_replace('{lien}', $fleches, $lien_off); } $barre .= $lien." "; if ($debut >= ($cfg_nb_pages * $cfg_nbres_ppage)) { $cpt_fin = ($debut / $cfg_nbres_ppage) + 5; $cpt_deb = $cpt_fin - $cfg_nb_pages + 4; } else { $cpt_deb = 1; $cpt_fin = (int)($nbtotal / $cfg_nbres_ppage); if (($nbtotal % $cfg_nbres_ppage) != 0) $cpt_fin++; if ($cpt_fin > $cfg_nb_pages) $cpt_fin = $cfg_nb_pages; } for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) { if ($cpt == ($debut / $cfg_nbres_ppage) + 1) { $barre .= "<b> ".$cpt."</b> "; } else { $barre .= "<A class=lien HREF='".$query.(($cpt-1)*$cfg_nbres_ppage); $barre .= "'>".$cpt."</A> "; } } if ($debut + $cfg_nbres_ppage < $nbtotal) { $cible = $query.($debut+$cfg_nbres_ppage); $fleches = ">"; $lien = str_replace('{lien}', $fleches, $lien_on); $lien = str_replace('{cible}', $cible, $lien); } else { $fleches = ">"; $lien = str_replace('{lien}', $fleches, $lien_off); } $barre .= " ".$lien; $fin = ($nbtotal - ($nbtotal % $cfg_nbres_ppage)); if (($nbtotal % $cfg_nbres_ppage) == 0) $fin = $fin - $cfg_nbres_ppage; if ($fin != $debut) { $cible = $query.$fin; $fleches2 = ">>"; $lien = str_replace('{lien}', $fleches2, $lien_on); $lien = str_replace('{cible}', $cible, $lien); } else { $fleches2 = ">>"; $lien = str_replace('{lien}', $fleches2, $lien_off); } $barre .= " ".$lien; return($barre); } ?>
lecube
Messages postés
304
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
13 avril 2010
54
9 août 2009 à 18:55
9 août 2009 à 18:55
Les lignes blanches sont des lignes !!
Ton fichier a 510 lignes ... Dis moi apres ton ?>, il n'y a pas un ligne blanche ?
Le header n'a pas ete defini a ce niveau et une ligne blanche initialiserais tes pages et engendrait un rejet du header suivant.
Ton fichier a 510 lignes ... Dis moi apres ton ?>, il n'y a pas un ligne blanche ?
Le header n'a pas ete defini a ce niveau et une ligne blanche initialiserais tes pages et engendrait un rejet du header suivant.
Comme tu le constates toi même, dans ton post il y a une ligne vide entre chacune des lignes de ton script. Les 256 lignes deviennent donc 512.
C'est certainement le saut de ligne qu'il y a après le ?> final qui est le début de sorties des données et provoque cette erreur.
Avec quel éditeur as-tu créé ce fichier ?
C'est certainement le saut de ligne qu'il y a après le ?> final qui est le début de sorties des données et provoque cette erreur.
Avec quel éditeur as-tu créé ce fichier ?
netanonima
Messages postés
36
Date d'inscription
vendredi 26 décembre 2008
Statut
Membre
Dernière intervention
3 février 2013
1
9 août 2009 à 19:02
9 août 2009 à 19:02
Alors en effet c'était une partie du problème.... l'index fonctionne
en revanche membres.php pose problème :
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 41
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 43
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 45
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 47
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 49
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 51
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 53
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 55
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 69
Le problème est à chaque ligne contenant $i...
en revanche membres.php pose problème :
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 41
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 43
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 45
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 47
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 49
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 51
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 53
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 55
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in /mnt/sites/altordj.com/web/poker/05/membres.php on line 69
<? include("config.php"); session_start(); if(!session_is_registered('username') ||!session_is_registered('smartid')) { viewheader(); echo "-- Vous ne pouvez pas accèder à cette zone --<br>"; echo"<b>L'accès est réservé aux membres</b>"; echo"<a href='index.php'>Connexion</a>"; viewfooter(); exit; } viewheader(); db_connect(); $req = "SELECT * FROM $dbtable WHERE id='$smartid'"; $res = mysql_query($req); $username = mysql_result($res,$i,"username"); $email = mysql_result($res,$i,"email"); $url = mysql_result($res,$i,"url"); $photo = mysql_result($res,$i,"photo"); $bouton = mysql_result($res,$i,"bouton"); $clicks = mysql_result($res,$i,"clicks"); $ip = mysql_result($res,$i,"ip"); $date = mysql_result($res,$i,"date_reg"); $annee = date("Y", $date); $mois = date("m", $date); $jour = date("d", $date); $heures = date("H", $date); $minutes = date("i", $date); $date = $jour."/".$mois."/".$annee; $droits = mysql_result($res,$i,"droits"); echo"<a href=\"fiche_membre.php?id=". $_SESSION['smartid']. "\" title=\"voir votre profil\" target=\"ifgauche\"><IMG SRC=\"../pic/bot/d01.jpg\" border=\"0\"></a><br>"; echo"<a href='maj.php?id=". $_SESSION['smartid']. "' target=\"ifgauche\"><IMG SRC=\"../pic/bot/d02.jpg\" border=\"0\"></a><br>"; echo"<a href='memberlist.php' target=\"ifgauche\"><IMG SRC=\"../pic/bot/d03.jpg\" border=\"0\"></a><br>"; echo"<a href='../03/myadmin.php' target=\"ifgauche\"><IMG SRC=\"../pic/bot/d04.jpg\" border=\"0\"></a><br>"; echo"<a href='../galerie/index.php' target=\"ifgauche\"><IMG SRC=\"../pic/bot/d11.jpg\" border=\"0\"></a><br>"; echo"<a href='../07/listemessages.php' target=\"ifgauche\"><IMG SRC=\"../pic/bot/d07.jpg\" border=\"0\"></a><br>"; echo"<a href='index.php' target=\"ifdroite\"><IMG SRC=\"../pic/bot/d05.jpg\" border=\"0\"></a><br>"; echo"<a href='logout.php' target=\"ifdroite\"><IMG SRC=\"../pic/bot/d06.jpg\" border=\"0\"></a><br>"; if ($droits == admi){ ?> <a href="../01/admin.php" target="ifgauche"><IMG SRC="../pic/bot/d09.jpg" border="0"></a><br> <a href="../03/adminall.php" target="ifgauche"><IMG SRC="../pic/bot/d08.jpg" border="0"></a><br> <? } exit; ?> viewfooter(); ?>
Le problème est à chaque ligne contenant $i...
netanonima
Messages postés
36
Date d'inscription
vendredi 26 décembre 2008
Statut
Membre
Dernière intervention
3 février 2013
1
9 août 2009 à 19:35
9 août 2009 à 19:35
Grrr.... nan c'est bon je devais juste me relogguer.... merci de votre aide si précieuse!!!!!!!