Index
Forums
Annuaire
Référencement
Télécharger
  phpBB SEO : Référencement Google, MSN, Yahoo, Annuaires, Forums  
phpBB SEO
Boards
Directory  
SEO  
Downloads
 
  Rechercher Search
    S'enregistrer
Pseudo :  Passe :  Auto  
Register  
 
   
headers already sent by...sessions.php

 
Poster un nouveau sujet   Répondre au sujet    phpBB SEO » Forum Référencement  » Le Forum phpBB
::  
Auteur Message
nexius2



Inscrit le: 19 Déc 2006
Messages: 12

headers already sent by...sessions.phpPosté le: Mar Déc 19, 2006 10:25 am    Sujet du message: headers already sent by...sessions.php

Bonjour à tous...

je fais appel a vous car j'ai un petit souci que je n'arrive pas a resoudre.
sur la page web du site, j'essai d'afficher les derniers post du forum ( situé dans /forum/). jusqu'a la, je pense mettre pas trop mal debrouillé grace a ce forum.
cependant, j'ai parfois cette erreur:

Citation:
Warning: Cannot modify header information - headers already sent by (output started at c:\easyphp17\www\planete-pocket\index.php:10) in c:\easyphp17\www\planete-pocket\forum\includes\sessions.php on line 256

Warning: Cannot modify header information - headers already sent by (output started at c:\easyphp17\www\planete-pocket\index.php:10) in c:\easyphp17\www\planete-pocket\forum\includes\sessions.php on line 257


si je dit parfois, c'est tout simplement parsque cette erreur apparait tant que je ne suis pas allé sur le forum....une fois le forum visité, cette erreur disparait....porqué???

voici mon code:
Code:

<p><span class="subHeader">Les dérniers posts du forum</span><br />

<?php
// Last XX Active Topics outside phpBB - dcz - www.phpBB-SEO.com
// License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2
//
// Basic Configuration
// How Many Topics you want to display?
$topicnumber = 10;
// Scrolling towards up or down?
$scroll = "up";
// Change this to your phpBB URL
$urlPath = "http://127.0.0.1/planete-pocket/forum";
// Change this to your phpBB path
$phpbb_root_path = 'forum/';
// Exclude forums, forum id in this array will not be listed
$exclude_forum = array (
//1 => 31,
//2 => 5,
//3 => 10,
);

define('IN_PHPBB', true);

include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

// Start session management
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
// End session management



// Let's do it now 
$sql = "SELECT t.topic_poster,t.topic_views,t.topic_replies,t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username
FROM ".TOPICS_TABLE." t, " . POSTS_TABLE . " p, " . USERS_TABLE . " u
WHERE t.topic_id = p.topic_id
AND t.topic_status <> 2
AND p.post_id = t.topic_last_post_id
AND p.poster_id = u.user_id
ORDER BY p.post_id DESC LIMIT $topicnumber";
//Begin sql cache
if ( !($result = $db->sql_query($sql)) )
//if ( !($result = $db->sql_query($sql, false, 'posts_')) )
//End sql cache
{
message_die(GENERAL_ERROR, 'Could not obtain Last topics info', '', __LINE__, __FILE__, $sql);
}
$last_topic_data = array();
while( $row = $db->sql_fetchrow($result) )
{
$last_topic_data[] = $row;
}
$db->sql_freeresult($result);
unset($row);

// Handle the not topics case, if you want 
if ( !($total_topics = count($last_topic_data)) )
{
$message = 'Something you want to say here ';
message_die(GENERAL_MESSAGE, $message);
}

//
// Find which forums are visible for this user
//
$is_auth_ary = array();
$is_auth_ary = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata, $last_topic_data);

// here I keep the basic html output
// Outcome of the HTML
// Be carefull when you edit these!
// echo "<marquee dir=\"rtl\" align=\"center\" id=\"recent_topics\" behavior=\"scroll\" direction=\"$scroll\" height=\"150\" width=\"100%\" scrolldelay=\"100\" scrollamount=\"2\" onMouseOver=\"stop()\" onMouseOut=\"start()\">";
echo "<div align=\"left\">";
echo "<table cellpadding='3' cellSpacing='2'";

for ($i = 0; $i < $total_topics; $i++ )
{
if (($userdata['user_level'] == ADMIN) || $is_auth_ary[$last_topic_data[$i]['forum_id']]['auth_view'] && !in_array($last_topic_data[$i]['forum_id'], $exclude_forum)) 
{
// phpBB-SEO.com SEO TOOLKIT BEGIN
$seo_forum_name = $last_topic_data[$i]['forum_name'];
$seo_topic_name = $last_topic_data[$i]['topic_title'];
// phpBB-SEO.com SEO TOOLKIT END

echo "<tr valign='top'>
<td><span class=\"nav\">".$lang['Last_Post']." :
<a href=\"".append_sid("$urlPath/viewtopic.php?t=".$last_topic_data[$i]['topic_id'])."\" class=\"nav\">" . $last_topic_data[$i]['topic_title'] ."</span></a></td>

<td><span class=\"nav\"> ".$lang['Views']." : " . $row['topic_views'] . "</span></td>
<td><span class=\"nav\"> ".$lang['Replies']." : " . $last_topic_data[$i]['topic_replies'] . "</span></a></td>
<td><span class=\"nav\"> ".$lang['Poster']." :
<a href=\"".append_sid("$urlPath/profile.php?mode=viewprofile&u=".$last_topic_data[$i]['user_id'])."\" class=\"nav\" >" . $last_topic_data[$i]['username'] . "</a></td></tr>";

}
}
echo "</table></div></marquee>";

?>

 </p>


Merci pour votre aide

edit: je cherche aussi a ne pas afficher les messages des admin qui ce trouve dans les zone privé.
j'ai bien:
Code:
if (($userdata['user_level'] == ADMIN) || $is_auth_ary[$last_topic_data[$i]['forum_id']]['auth_view'] && !in_array($last_topic_data[$i]['forum_id'], $exclude_forum))


mais ca ne fonctionne pas...
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15121

headers already sent by...sessions.phpPosté le: Mar Déc 19, 2006 10:31 am    Sujet du message: Re: headers already sent by...sessions.php

Et bienvenue Very Happy

Cela doit être dû au code utilisé dans l'index.php extérieur. Le code doit provoquer un erreur alors que les header sont déjà lancer.

Comme cela n'a l'air de n'être que le cas quand tu n'est pas connecté, il se pourrait que ton index.php extérieur utilise déjà les sessions de phpBB, auquel cas tu pourrais essayer de retirer :

Code:
define('IN_PHPBB', true);

include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

// Start session management
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
// End session management


Du code ci dessus.

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
nexius2



Inscrit le: 19 Déc 2006
Messages: 12

headers already sent by...sessions.phpPosté le: Mar Déc 19, 2006 10:38 am    Sujet du message: Re: headers already sent by...sessions.php

dcz a écrit:
Et bienvenue Very Happy


Merci Very Happy

dcz a écrit:

Cela doit être dû au code utilisé dans l'index.php extérieur. Le code doit provoquer un erreur alors que les header sont déjà lancer.

pourtant l'index (ou tout autre page) ne fait pas du tout reference a phpbb. mon code ce trouve seul dans une page appelé par un include... seul cette page appel le forum...

dcz a écrit:

Comme cela n'a l'air de n'être que le cas quand tu n'est pas connecté, il se pourrait que ton index.php extérieur utilise déjà les sessions de phpBB, auquel cas tu pourrais essayer de retirer : ......


j'ai tester, la ca ne marche plus du tout !
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15121

headers already sent by...sessions.phpPosté le: Mar Déc 19, 2006 10:45 am    Sujet du message: Re: headers already sent by...sessions.php

Donc, oui, si tu partages pas les sessions, alors marchera pas sans.

Donc, je pense qu'il y a une incompatibilité entre les deux scripts, phpBB et ton index.php extérieur.

Genre une constante ou une fonction portant le même nom. Sauf erreur de code de ta part dans sessions.php bien entendu (ça vaut le coup de vérifier).

Du coup, tu pourrais peut être inclure ce script dans un autre page plus "indépendante".

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
nexius2



Inscrit le: 19 Déc 2006
Messages: 12

headers already sent by...sessions.phpPosté le: Mar Déc 19, 2006 10:56 am    Sujet du message: Re: headers already sent by...sessions.php

dcz a écrit:
Donc, oui, si tu partages pas les sessions, alors marchera pas sans.

Donc, je pense qu'il y a une incompatibilité entre les deux scripts, phpBB et ton index.php extérieur.

Genre une constante ou une fonction portant le même nom. Sauf erreur de code de ta part dans sessions.php bien entendu (ça vaut le coup de vérifier).

Du coup, tu pourrais peut être inclure ce script dans un autre page plus "indépendante".

++


bon, ca doit etre une histoire de partage de sessions alors...
je vient de faire un essai de ce code seul dans une page, j'ai chargé cette page et j'ai la meme erreur...

pour le coup de l'erreur dans sessions.php, je ne pense pas, j'y ai pas touché Very Happy

je vais jeter un oeil plus attentif sur ce que ce dit sur le partage de session...
Revenir en haut de page
nexius2



Inscrit le: 19 Déc 2006
Messages: 12

headers already sent by...sessions.phpPosté le: Mar Déc 19, 2006 11:35 am    Sujet du message: Re: headers already sent by...sessions.php

bon, je comprend pas trop, j'ai une page contenant uniquement le code...

tu as dit dans un autre post qu'il fallait utilisé

Code:
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

ce que je fait....et pourtant j'ai le meme message....ne faut il pas fermer l'acces a la base a la fin du script?

je suis pas trop sur de comprendre les partage de sessions....
je cherche, mais je trouve pas, n'i y t'il pas un tuto a ce sujet quelque part?
Merci
Revenir en haut de page
nexius2



Inscrit le: 19 Déc 2006
Messages: 12

headers already sent by...sessions.phpPosté le: Mar Déc 19, 2006 2:38 pm    Sujet du message: Re: headers already sent by...sessions.php

c'est bon, j'ai trouvé....j'ai opté pour une approche differente....merci pour tout ! ! !


voici le code pour ceux que ca interesse
Code:

<?php
$connection=mysql_connect("localhost","login","password");
mysql_select_db("nom_bdd");
$sql = "SELECT t.topic_id, t.topic_title, t.topic_replies, t.topic_last_post_id, f.forum_id, f.forum_name, p.post_time, u.user_id, u.username
       FROM phpbb_topics AS t, phpbb_forums AS f, phpbb_posts AS p, phpbb_users AS u
       WHERE t.forum_id = f.forum_id
       AND f.auth_view < 3 AND f.auth_read < 3     
       AND t.topic_moved_id = 0
       AND p.post_id = t.topic_last_post_id
       AND u.user_id = p.poster_id
      AND f.forum_id != 8
       ORDER BY t.topic_last_post_id DESC
       LIMIT 10";
if( !($result = mysql_query($sql)) )
{
   echo 'Impossible d\'obtenir les derniers posts du forum.';
}

while( $ary = mysql_fetch_array($result) )
{
   $xpostrow[] = $ary;
}

echo '<table border="0" width="100%">';
for( $i = 0; $i < count($xpostrow); $i++ )
{   
   $topic_title = htmlspecialchars(stripslashes($xpostrow[$i]['topic_title']));
   if( strlen($topic_title) > 30 )
   {
      $k = substr($topic_title, 0, 30);
      $pos = strrpos($k, " ");
      $k = substr($k, 0, $pos);
      $topic_title = $k . "...";
   }
   echo '<tr><td width="20%">' . date('d-m-Y', $xpostrow[$i]['post_time']) . '</td>';   
   echo '<td width="40%"><a class="navigation" href="forum/viewtopic.php?p=' . $xpostrow[$i]['topic_last_post_id'] . '#' . $xpostrow[$i]['topic_last_post_id'] . '">' . $topic_title . '</a></td>';
   echo '<td width="3%">Par</td>';
   echo '<td width="37%"><a class="navigation2" href="forum/profile.php?mode=viewprofile&amp;u=' . $xpostrow[$i]['user_id'] . '">' . $xpostrow[$i]['username'] . '</a></td></tr>';
}
echo '</table>';
?>
Revenir en haut de page
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    phpBB SEO » Forum Référencement  » Le Forum phpBB
Page 1 sur 1

Navigation Autres sujets de discussion

Sauter vers: