Intégrer les stats de phpbb sur l'index de mon site en php

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans cette section.

Modérateur : Équipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com
DjSwe
Posteur néophyte
Posteur néophyte
Messages : 2
Enregistré le : 12 mars 2006 à 21:55

Intégrer les stats de phpbb sur l'index de mon site en php

Message par DjSwe »

Bonsoir,

Voila tout est dans le titre :-)
Je cherche à intégrer les stats de phpbb (nombre de visiteurs, membres et invisible en ligne), le nombre de messages, de membres, la liste des membres connectés, bref je voudrais reproduire le WhoIsOnline sur l'index de mon site (index.php).
Pour info, le site et le forum se trouvent dans le même dossier!

D'avance merci,
bonne soirée!
Avatar du membre
heonix
Posteur néophyte
Posteur néophyte
Messages : 73
Enregistré le : 08 juil. 2005 à 11:56
Contact :

Message par heonix »

Tout au début de ton code HTML :: attention , pas d'espace avant !

Code : Tout sélectionner

<?php

define('IN_PHPBB', true);
 
$phpbb_root_path = './forum/';
 
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
 
//

?>
Puis , ou tu veux tes stats :

Code : Tout sélectionner

<?php
$sql = 'SELECT session_ip, session_logged_in, session_time FROM ' . $table_prefix . 'sessions WHERE session_time >= ' . ( time() - 300 ) . 'ORDER BY session_ip ASC, session_logged_in DESC';
$ip_prec = 0;
$membres = 0;
$visiteurs = 0;
$result = $db->sql_query($sql);
while ( $row = $db->sql_fetchrow($result) )
{
if ( $row['session_ip'] != $ip_prec )
{
$membres += intval($row['session_logged_in']);
if ( $row['session_logged_in'] == '0') $visiteurs++;
$ip_prec = $row['session_ip'];
}
}
$texte = ( $visiteurs+$membres == '0' ) ? $lang['Online_users_zero_total'] . '<br />' : ( ( $visiteurs+$membres == '1' ) ? sprintf($lang['Online_user_total'] . '<br />',$visiteurs+$membres) : sprintf($lang['Online_users_total'] . '<br />',$visiteurs+$membres) );
$texte .= ( $membres == '0' ) ? $lang['Reg_users_zero_total'] : ( ( $membres == '1' ) ? sprintf($lang['Reg_user_total'],$membres) : sprintf($lang['Reg_users_total'],$membres) );
$texte .= ( $visiteurs == '0' ) ? $lang['Guest_users_zero_total'] : ( ( $visiteurs == '1' ) ? sprintf($lang['Guest_user_total'],$visiteurs) : sprintf($lang['Guest_users_total'],$visiteurs) );
echo("$texte");
?>
Source : phpBB-session[/code]
Avatar du membre
TendoMag
Posteur néophyte
Posteur néophyte
Messages : 19
Enregistré le : 28 juin 2006 à 22:15
Localisation : TOULOUSE

Message par TendoMag »

Bonjour,

Je me demandais, vous dîtes tout au début du code... C'est à dire, avant le <head> ?!

Merci d'avance,
La team TENDOMAG
.Le compte partagé de la team TendoMag
Avatar du membre
Giga_Boss
Apprenti-floodeur
Apprenti-floodeur
Messages : 1258
Enregistré le : 19 déc. 2004 à 22:43
Localisation : France - Région parisienne
Contact :

Message par Giga_Boss »

Non, tout en haut, il faut que ce soit la première ligne de la page !
Avant <html>
Avatar du membre
TendoMag
Posteur néophyte
Posteur néophyte
Messages : 19
Enregistré le : 28 juin 2006 à 22:15
Localisation : TOULOUSE

Message par TendoMag »

Salut à tous, c'est le codeur qui poste !


Je n'y connait rien en php alors je vais vous demander quelques précisions à propos de ce code :

-Vous dites qu'il faut le placer la première partie avant le <html> mais est-ce que l'on garde le "<!DOCTYPE html PUBLIC "–//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1–strict.dtd">" en début de code ???

-Est-ce qu'il ne faut pas mettre le nom, le code...etc de la base de donné ou quoi que ce soit ou il n'y a rien à changer ???

-Il faut enregistrer la page en php ???

Merci d'avance :wink:
.Le compte partagé de la team TendoMag
Grimmlink
Dieu des floodeurs
Dieu des floodeurs
Messages : 5802
Enregistré le : 16 juil. 2003 à 23:28
Localisation : Le Havre

Message par Grimmlink »

bonjour
TendoMag a écrit :-Vous dites qu'il faut le placer la première partie avant le <html> mais est-ce que l'on garde le "<!DOCTYPE html PUBLIC "–//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1–strict.dtd">" en début de code ???
oui bien entendu tu gardes le doctype
TendoMag a écrit :-Est-ce qu'il ne faut pas mettre le nom, le code...etc de la base de donné ou quoi que ce soit ou il n'y a rien à changer ???
pas besoin tout se fait dans les inclusions
TendoMag a écrit :-Il faut enregistrer la page en php ???
oui :)
TendoMag a écrit :Merci d'avance :wink:
de rien :)
Avatar du membre
TendoMag
Posteur néophyte
Posteur néophyte
Messages : 19
Enregistré le : 28 juin 2006 à 22:15
Localisation : TOULOUSE

Message par TendoMag »

Donc j'ai mi le code a mettre au début entre le doctype et le <html>. J'ai mi l'autre partie de code à l'endroit prévu et j'ai enregistré en php. Voilà le résultat :
Image
:(

Quel est le problème selon vous???

Merci :wink:
.Le compte partagé de la team TendoMag
Grimmlink
Dieu des floodeurs
Dieu des floodeurs
Messages : 5802
Enregistré le : 16 juil. 2003 à 23:28
Localisation : Le Havre

Message par Grimmlink »

fais voir ton code (et on a dit avant le doctype)
Avatar du membre
TendoMag
Posteur néophyte
Posteur néophyte
Messages : 19
Enregistré le : 28 juin 2006 à 22:15
Localisation : TOULOUSE

Message par TendoMag »

Me revoila voici mon code

Code : Tout sélectionner

<?php

define('IN_PHPBB', true);
 
$phpbb_root_path = './forum/';
 
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
 
//

?>
<!DOCTYPE html PUBLIC "–//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1–strict.dtd">
<html>
   <head>
       <title>xxxxxxxx/title>
       <meta http–equiv="Content–Type" content="text/html; charset=iso–8859–1" />
	   <link rel="shortcut icon" type="images/x-icon" href="favicon.ico" />
   </head>

<body>

<?php
$sql = 'SELECT session_ip, session_logged_in, session_time FROM ' . $table_prefix . 'sessions WHERE session_time >= ' . ( time() - 300 ) . 'ORDER BY session_ip ASC, session_logged_in DESC';
$ip_prec = 0;
$membres = 0;
$visiteurs = 0;
$result = $db->sql_query($sql);
while ( $row = $db->sql_fetchrow($result) )
{
if ( $row['session_ip'] != $ip_prec )
{
$membres += intval($row['session_logged_in']);
if ( $row['session_logged_in'] == '0') $visiteurs++;
$ip_prec = $row['session_ip'];
}
}
$texte = ( $visiteurs+$membres == '0' ) ? $lang['Online_users_zero_total'] . '<br />' : ( ( $visiteurs+$membres == '1' ) ? sprintf($lang['Online_user_total'] . '<br />',$visiteurs+$membres) : sprintf($lang['Online_users_total'] . '<br />',$visiteurs+$membres) );
$texte .= ( $membres == '0' ) ? $lang['Reg_users_zero_total'] : ( ( $membres == '1' ) ? sprintf($lang['Reg_user_total'],$membres) : sprintf($lang['Reg_users_total'],$membres) );
$texte .= ( $visiteurs == '0' ) ? $lang['Guest_users_zero_total'] : ( ( $visiteurs == '1' ) ? sprintf($lang['Guest_user_total'],$visiteurs) : sprintf($lang['Guest_users_total'],$visiteurs) );
echo("$texte");
?>

</body>
</html>
Merci d'avance
.Le compte partagé de la team TendoMag
Avatar du membre
TendoMag
Posteur néophyte
Posteur néophyte
Messages : 19
Enregistré le : 28 juin 2006 à 22:15
Localisation : TOULOUSE

Message par TendoMag »

UP !!!
Please répondez c'est plutôt urgentissime :(
.Le compte partagé de la team TendoMag
Avatar du membre
Vlad Tepesch
Grand-maître des floodeurs
Grand-maître des floodeurs
Messages : 3420
Enregistré le : 04 juil. 2005 à 17:23
Localisation : Paris
Contact :

Message par Vlad Tepesch »

Tu as bien enregistrer le fichier en .php?
Avatar du membre
TendoMag
Posteur néophyte
Posteur néophyte
Messages : 19
Enregistré le : 28 juin 2006 à 22:15
Localisation : TOULOUSE

Message par TendoMag »

Oui et quand je vais à la page j'ai ceci
= ' . ( time() - 300 ) . 'ORDER BY session_ip ASC, session_logged_in DESC'; $ip_prec = 0; $membres = 0; $visiteurs = 0; $result = $db->sql_query($sql); while ( $row = $db->sql_fetchrow($result) ) { if ( $row['session_ip'] != $ip_prec ) { $membres += intval($row['session_logged_in']); if ( $row['session_logged_in'] == '0') $visiteurs++; $ip_prec = $row['session_ip']; } } $texte = ( $visiteurs+$membres == '0' ) ? $lang['Online_users_zero_total'] . '
' : ( ( $visiteurs+$membres == '1' ) ? sprintf($lang['Online_user_total'] . '
',$visiteurs+$membres) : sprintf($lang['Online_users_total'] . '
',$visiteurs+$membres) ); $texte .= ( $membres == '0' ) ? $lang['Reg_users_zero_total'] : ( ( $membres == '1' ) ? sprintf($lang['Reg_user_total'],$membres) : sprintf($lang['Reg_users_total'],$membres) ); $texte .= ( $visiteurs == '0' ) ? $lang['Guest_users_zero_total'] : ( ( $visiteurs == '1' ) ? sprintf($lang['Guest_user_total'],$visiteurs) : sprintf($lang['Guest_users_total'],$visiteurs) ); echo("$texte"); ?>
Pour que ça marche il faut que a page soit enroistrée ou par rapport au forum? Moi à l'endoirt ou la page est enregistrée il y a un dossier "forum" ave dedans tout le fourm. Le problème vient peut-être de là.
.Le compte partagé de la team TendoMag
Avatar du membre
tonillo
Grand-maître des floodeurs
Grand-maître des floodeurs
Messages : 4610
Enregistré le : 06 juin 2005 à 09:39

Message par tonillo »

il y a l'air d'avoir une ligne vide avant ton <?php>
enleve la si elle y est vraiment
...
Avatar du membre
TendoMag
Posteur néophyte
Posteur néophyte
Messages : 19
Enregistré le : 28 juin 2006 à 22:15
Localisation : TOULOUSE

Message par TendoMag »

Non il n'y en a pas. malheureusement :(
.Le compte partagé de la team TendoMag
Avatar du membre
TendoMag
Posteur néophyte
Posteur néophyte
Messages : 19
Enregistré le : 28 juin 2006 à 22:15
Localisation : TOULOUSE

Message par TendoMag »

Bonjour,

Ayant recemment perdu l'intégralité des données du projet TendoMag ( Problème de DLL pour le noyau.. J'ai appelé la hotline : Formattage.. ) J'aimerais vraiment pouvoir lancer le site afin d'expliquer le problème au visiteurs, c'est pourquoi, j'aimerais vraiment que vous puissez apporter un réponse a notre problème.

Je suis prêt a "employer" un codeur supplémentaire spécialisé en PHP pour régler ce problème et ceux a venir. :arrow: tendomag@gmail.com

Cordialement - NiKO, fondateur du TendoMag.
.Le compte partagé de la team TendoMag
Répondre

Retourner vers « Coding, Webmastering et Sécurité informatique »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités