[INFO] sur l'utilisation des sessions de phpBB2 sur son site

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 ce forum.

Modérateur: Equipe

Messagepar davlasarraz » 18 Oct 2007 à 10:01

Super ! Sa va résoudre beaucoup de mes problèmes merci !!
davlasarraz
Posteur néophyte
Posteur néophyte
 
Messages: 6
Inscription: 21 Jan 2007 à 12:33

Re: [INFO] sur l'utilisation des sessions de phpBB sur son site

Messagepar Srpkinja » 05 Nov 2007 à 00:29

Bonsoir,

Alors ça fait quelques jours que j'ai un problème avec mon site et je pense que ça vient de l'intégration des sessions du forum sur le site (je sais je ne suis pas douée :? )
Message d'erreur que j'ai :

Code: Tout sélectionner
  Warning: Cannot modify header information - headers already sent by (output started at /homepages/8/d220799616/htdocs/index.php:1) in /homepages/8/d220799616/htdocs/forum/includes/sessions.php on  line 259

Warning: Cannot modify header information - headers already sent by (output started at /homepages/8/d220799616/htdocs/index.php:1) in /homepages/8/d220799616/htdocs/forum/includes/sessions.php on line 260


Ce serait sympa si quelqu'un pouvait m'aider :oops:

Voilà le bloc que j'ajoute tout en haut de ma page :

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_SITE);
init_userprefs($userdata);
//
// End session management
//
?>


Bloc pour se connecter :

Code: Tout sélectionner
<?php
if ( $userdata['session_logged_in'] != '1')
{
print('<form method="post" action="' . $phpbb_root_path. 'login.php" >
Nom d'utilisateur :<br /> <input type="text" name="username" />
Mot de passe :<br /> <input type="password" name="password" />
Se rappeler de moi <input type="checkbox" name="autologin" /><br /><br />
<input type="hidden" name="redirect" value="..' . $HTTP_SERVER_VARS['REQUEST_URI'] . '" />
<input type="hidden" name="ext" value="1" />
<input type="submit" name="login" value="Connexion" />
<p>Vous n'êtes pas encore enregistrés ?<br />
Enregistrez-vous <a href="forum/profile.php?mode=register">ici</a>.</p>
</form>');
}
?>


Bloc pour le profil :

Code: Tout sélectionner
<?php
               
switch ( $userdata['user_avatar_type'] )
{
case USER_AVATAR_UPLOAD:
   if ( $board_config['allow_avatar_upload'] )
      echo('<img src="' . $phpbb_root_path    . $board_config['avatar_path'] . '/' . $userdata['user_avatar'] . '" />');
   break;

case USER_AVATAR_REMOTE:
    if ( $board_config['allow_avatar_remote'] )
        echo('<img src="' . $userdata['user_avatar'] . '" />');
    break;

case USER_AVATAR_GALLERY:
    if ( $board_config['allow_avatar_local'] )
        echo('<img src="' . $phpbb_root_path    . $board_config['avatar_gallery_path'] . '/' . $userdata['user_avatar']. '" />');
break;

default:
  // Code pour ceux qui n'ont pas d'avatar.
}
?>


Code pour la visualisation des derniers messages du forum :

Code: Tout sélectionner
<marquee id="recent_topics" behavior="scroll" direction="up" height="200" scrolldelay="100" scrollamount="2"
onMouseOver = "document.all.recent_topics.stop()" onMouseOut="document.all.recent_topics.start()">
<?php
$nombre = 10;
$auth = auth(AUTH_READ,AUTH_LIST_ALL,$userdata);
$requete = '(';
for($i=1;$i<=count($auth);$i++)
{
   if ($auth[$i]['auth_read'])
      $requete .= $i . ',';
}
$requete = substr($requete,0,strlen($requete)-1);
$requete .= ')';
$theme = ($userdata['user_style'] != '') ? $userdata['user_style'] : $board_config['default_style'];
$theme = 'SELECT template_name FROM ' . THEMES_TABLE . ' WHERE themes_id = \'' . $theme . '\' LIMIT 1';
$theme = $db->sql_query($theme);
$theme = $db->sql_fetchrow($theme);
$theme = $theme['template_name'];
$sql = 'SELECT ' . TOPICS_TABLE . '.topic_title ,' . TOPICS_TABLE . '.forum_id,' . POSTS_TABLE . '.post_id,' . POSTS_TABLE . '.poster_id,' . POSTS_TABLE . '.post_username,' . POSTS_TABLE . '.post_time,' . USERS_TABLE . '.username
          FROM ' . TOPICS_TABLE . '
          LEFT JOIN ' . POSTS_TABLE . '
          ON ' . POSTS_TABLE . '.post_id = ' . TOPICS_TABLE . '.topic_last_post_id
          LEFT JOIN ' . USERS_TABLE . '
          ON ' . USERS_TABLE . '.user_id = ' . POSTS_TABLE . '.poster_id
          WHERE ' . TOPICS_TABLE . '.topic_status <> 2 AND ' . TOPICS_TABLE . '.forum_id IN ' . $requete . '
          ORDER BY ' . TOPICS_TABLE . '.topic_last_post_id DESC LIMIT ' . $nombre;
$result = $db->sql_query($sql);
while( $row = $db->sql_fetchrow($result) )
{
   $row['username'] = ( $row['poster_id'] == -1 ) ? ( ($row['post_username'] != '') ? $row['post_username'] : 'Invité' ): $row['username'];
   echo('By ' . $row['username'] . ' le ' . create_date($board_config['default_dateformat'], $row['post_time'], $board_config['board_timezone']) . '<br /><a href="' . $phpbb_root_path . 'viewtopic.php?' . POST_POST_URL . '=' . $row['post_id'] . '#' . $row['post_id'] . '" title="' . $row['topic_title'] . '">' . $row['topic_title'] . ' <img src="' . $phpbb_root_path . 'templates/' . $theme . '/images/icon_latest_reply.gif" style="border: 0px;" /></a><br />&nbsp;<br />');
}
?>
</marquee>


Code pour voir les connectés :

Code: Tout sélectionner
<?php
$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level,    s.session_logged_in, s.session_ip
         FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
         WHERE u.user_id = s.session_user_id
             AND s.session_time >= ".( time() - 300 ) . "
         ORDER BY s.session_ip ASC, s.session_logged_in DESC";
    if( !($result = $db->sql_query($sql)) )
    {
         message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql);
    }
                  
$ip_prec = 0;
$membres = 0;
$visiteurs = 0;
$invisibles = 0;
$online_userlist = '';
while ( $row = $db->sql_fetchrow($result) )
{
      if ( $row['session_ip'] != $ip_prec )
      {
            $membres += intval($row['session_logged_in']);
            if ( $row['session_logged_in'] != '1')
                  $visiteurs++;
            else
            {
                  $style_color = '';
                  if ( $row['user_level'] == ADMIN )
                  {
                      $row['username'] = '<b>' . $row['username'] . '</b>';
                      $style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
                  }
                  else if ( $row['user_level'] == MOD )
                  {
                      $row['username'] = '<b>' . $row['username'] . '</b>';
                      $style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
                  }

                  if ( $row['user_allow_viewonline'] )
                  {
                      $user_online_link = '<a href="' . append_sid("{$phpbb_root_path}profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>';
                  }
                  else
                      $invisibles++;
                  
                  if ( $row['user_allow_viewonline'] )
                  {
                      $online_userlist .= ( $online_userlist != '' ) ? ', ' . $user_online_link : $user_online_link;
                  }

            }
            $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 .= ( $invisibles == '0' ) ? $lang['Hidden_users_zero_total'] : ( ( $invisibles == '1' ) ? sprintf($lang['Hidden_user_total'],$invisibles) : sprintf($lang['Hidden_users_total'],$invisibles) );
$texte .= ( $visiteurs == '0' ) ? $lang['Guest_users_zero_total'] : ( ( $visiteurs == '1' ) ? sprintf($lang['Guest_user_total'],$visiteurs) : sprintf($lang['Guest_users_total'],$visiteurs) );
echo($texte.'<br />');
echo($online_userlist.'<br />');
?>


Mon forum se trouve dans le dossier : http://www.monsite.com/forum/
Et je voulais ajouter tous ces blocs dans la page index.php à la racine du site.

Merci d'avance aux personnes qui voudront bien m'aider :oops:
Srpkinja
Posteur néophyte
Posteur néophyte
 
Messages: 19
Inscription: 30 Mar 2007 à 17:57

Re: [INFO] sur l'utilisation des sessions de phpBB sur son site

Messagepar Edouard » 05 Nov 2007 à 09:30

Bonsoir,

Le 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_SITE);
init_userprefs($userdata);
//
// End session management
//

Doit être placé avant tout autre caractère(que ce ne soit qu'un caractère vide, ou même du code HTML). ;)
Pas de support par MSN ou par MP. Merci.
Vous avez créé un MOD et vous souhaitez le faire valider par l'équipe des MODs ? Rendez vous ici.
Liste des MODs présents dans la base de données de PhpBB-FR.

Starcraft-Fr Communauté francophone sur l'univers de Starcraft. Nombreuses ressources disponibles (Maps, Replays etc.)
Avatar de l’utilisateur
Edouard
Floodeur expérimenté
Floodeur expérimenté
 
Messages: 1920
Inscription: 13 Nov 2004 à 04:10

Re: [INFO] sur l'utilisation des sessions de phpBB sur son site

Messagepar gege2002 » 18 Nov 2007 à 21:36

coucou all

voila, je vais faire un site pour un ami, avec qques idées basées sur les CMS. mais niveau CMS, je vais me faire mes modules perso, sans utilisation d'une architecture genre joomla toute faite.
j'aimerais donc récupérer les sessions du forum, en l'occurrence ce sera phpBB3 ^^, car ce forum sera l'interface qui drainera le plus de membres.
mais une question se pose : le système décrit précédemment peut-il s'appliquer à phpBB3 ou est-il only phpBB2?

merci de vos explications

enjoy
Avatar de l’utilisateur
gege2002
Posteur néophyte
Posteur néophyte
 
Messages: 70
Inscription: 18 Nov 2007 à 21:32

Re: [INFO] sur l'utilisation des sessions de phpBB sur son site

Messagepar gege2002 » 20 Nov 2007 à 08:23

UP please :P
Avatar de l’utilisateur
gege2002
Posteur néophyte
Posteur néophyte
 
Messages: 70
Inscription: 18 Nov 2007 à 21:32

Re: [INFO] sur l'utilisation des sessions de phpBB sur son site

Messagepar Elglobo » 20 Nov 2007 à 10:22

Bonjour gege2002,

Ce tutorial n'est pas valable pour phpBB3, un tutorial est en cours de préparation, mais en attendant tu peux retrouver ce sujet où j'avais rapidement donné la solution.

@+ ;)
phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB en toute tranquillité.
Avatar de l’utilisateur
Elglobo
Superstar
 
Messages: 14866
Inscription: 13 Oct 2004 à 16:28

Re: [INFO] sur l'utilisation des sessions de phpBB sur son site

Messagepar gege2002 » 20 Nov 2007 à 12:46

merci je l'ai lu et cela me fera attendre votre prochain tuto :)

merci beaucoup
Avatar de l’utilisateur
gege2002
Posteur néophyte
Posteur néophyte
 
Messages: 70
Inscription: 18 Nov 2007 à 21:32

Re: [INFO] sur l'utilisation des sessions de phpBB sur son site

Messagepar saith » 20 Déc 2007 à 23:07

Bonsoir. J'ai un site qui possède un forum et qui utilise les sessions de phpBB. j'aimerais savoir s'il était possible d'utiliser les sessions qu'utilisent le fvorum et mon site pour un second forum lié au site. Je voudrais en fait que les utilisateurs n'aient qu'a se loguer sur un des 3 (le site ou un des deux forum) et puissent poster sur les 2 autres sans avoir à se relguer.

Merci d'avance
saith
Posteur néophyte
Posteur néophyte
 
Messages: 53
Inscription: 04 Juil 2007 à 22:48

Re: [INFO] sur l'utilisation des sessions de phpBB sur son site

Messagepar pakito » 08 Jan 2008 à 13:58

Il faudrai que tu utilise la même table pour les membres des 2 forums si je ne m'abuse.


Petite question pour moi maintenant !
Je viens d'installer sur un site en projet un PHPBB3, tout marche niquel, seulement, j'ai besoin d'utiliser les session PHPBB sur le site. Jusque là pas de soucis, en revanche, les modifications à appliquer aux fichiers common.php &C° ne peuvent se faire à l'identique sur la version 3. Pour common et viewonline pas de soucis, j'ai trouvé, mais pour ce qui est demandé pour includes/constans.php, le bout de code à trouver ne figure pas sur la page, ni même une partie de ce boût de code.
Ou dois-je donc ajouter ce qui est requis, et comment dois-je le nommer puisque sur viewonline, le code est passé de
Code: Tout sélectionner
case PAGE_SITE:
               $location = $lang['On_the_site'];
               $location_url = $adresse_site;
               break;

à
Code: Tout sélectionner
case 'site':
               $location = $lang['On_the_site'];
               $location_url = $adresse_site;
               break;

pour qu'il soit adapter au reste.

Donc en gros, où insérer

Code: Tout sélectionner
define('PAGE_SITE', -12);


dans includes/constants.php, et par quoi remplacer PAGE_SITE ?

Merci !

PS : idem pour lang_main.php
Ce fichier n'existe pas dans la version 3, donc où mettre "est sur le site" ?
Image
Avatar de l’utilisateur
pakito
Apprenti-posteur
Apprenti-posteur
 
Messages: 121
Inscription: 24 Mar 2004 à 19:24
Localisation: Sud-ouest de la France

Re: [INFO] sur l'utilisation des sessions de phpBB sur son site

Messagepar MissGeek » 09 Jan 2008 à 21:58

Bonjour.

J'ai un site en PHP/MySQL qui est associé à mon forum, et ce site inclut un système de news et un système de classement des sites analysés, et prochainement une gestion des résultats des duels graphiques. Pour le moment, l'accès aux pages pour la gestion est protégée par un .htaccess, mais j'aimerais éventuellement utiliser les sessions de phpBB pour gérer l'accès à ces pages. Les sessions sont encore un domaine que je maîtrise mal en PHP. Le reste du site serait accessible aux visiteurs et je ne compte pas pur l'instant mettre les modules mentionnés (édition du profil, connexion, etc.).

Pour donner une idée des accès que je veux mettre.
Gestion des news : Admin fondatrice seulement (moi)
Gestion des sites analysés : Groupe des analystes
Gestion des résultats de duels : Groupe des modos et groupe des graphistes

Voici le site dont je suis en train de travailler dessus : http://ishimaru-design.servhome.org

Merci d'avance.

Ishimaru
Avatar de l’utilisateur
MissGeek
MOD Contest Winner
MOD Contest Winner
 
Messages: 947
Inscription: 12 Nov 2007 à 05:17
Localisation: Dans la cuisine, en train de faire des pâtisseries (cé pas mal ça ces temps-ci, XD)

Re: [INFO] sur l'utilisation des sessions de phpBB sur son site

Messagepar Yami-no-Tenshi » 14 Jan 2008 à 16:04

Vivement le tuto version phpBB3... :roll:
Yami-no-Tenshi
Posteur néophyte
Posteur néophyte
 
Messages: 34
Inscription: 23 Déc 2007 à 18:00

Re: [INFO] sur l'utilisation des sessions de phpBB sur son site

Messagepar Cloude » 26 Jan 2008 à 13:14

Bonjour ^^
#
#-----[ OUVRIR ]----------------------------------------------
#

common.php

#
#-----[ TROUVER ]----------------------------------------------
#

//
// Define some basic configuration arrays this also prevents
// malicious rewriting of language and otherarray values via
// URI params
//

Mon problème, c'est que même en faisant ctrl f, je ne trouve pas ce qu'il faut trouver. Vous pouvez m'aider s'il vous plait? ^^"
Cloude
Maître-posteur
Maître-posteur
 
Messages: 463
Inscription: 04 Jan 2008 à 16:21
Avertissements: 1

Re: [INFO] sur l'utilisation des sessions de phpBB sur son site

Messagepar ibanson » 29 Jan 2008 à 13:28

Cloude a écrit:Bonjour ^^
#
#-----[ OUVRIR ]----------------------------------------------
#

common.php

#
#-----[ TROUVER ]----------------------------------------------
#

//
// Define some basic configuration arrays this also prevents
// malicious rewriting of language and otherarray values via
// URI params
//

Mon problème, c'est que même en faisant ctrl f, je ne trouve pas ce qu'il faut trouver. Vous pouvez m'aider s'il vous plait? ^^"


Si ton forum en est phpBB3, ca ne fonctionne pas.
ibanson
Posteur néophyte
Posteur néophyte
 
Messages: 27
Inscription: 21 Jan 2008 à 19:26

Re: [INFO] sur l'utilisation des sessions de phpBB sur son site

Messagepar Cloude » 29 Jan 2008 à 17:08

ibanson a écrit:
Cloude a écrit:Bonjour ^^
#
#-----[ OUVRIR ]----------------------------------------------
#

common.php

#
#-----[ TROUVER ]----------------------------------------------
#

//
// Define some basic configuration arrays this also prevents
// malicious rewriting of language and otherarray values via
// URI params
//

Mon problème, c'est que même en faisant ctrl f, je ne trouve pas ce qu'il faut trouver. Vous pouvez m'aider s'il vous plait? ^^"


Si ton forum en est phpBB3, ca ne fonctionne pas.
Ah, d'accord ! :P Merci ^^ Et il n'y a pas un moyen avec phpbb 3?
Cloude
Maître-posteur
Maître-posteur
 
Messages: 463
Inscription: 04 Jan 2008 à 16:21
Avertissements: 1

Re: [INFO] sur l'utilisation des sessions de phpBB sur son site

Messagepar Pouzy » 31 Jan 2008 à 15:27

Cloude a écrit:Ah, d'accord ! :P Merci ^^ Et il n'y a pas un moyen avec phpbb 3?


Suffit de lire un peu et de voir trois posts plus haut qu'un tuto est en préparation pour PhpBB3 ;)
Avatar de l’utilisateur
Pouzy
Apprenti-floodeur
Apprenti-floodeur
 
Messages: 1254
Inscription: 11 Mai 2003 à 17:45
Localisation: Cherche un peu ... Un peu à gauche ... là , tu brûles !

PrécédenteSuivante

Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

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

Partenaires : phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB3 Styles • phpBB podpora • phpBB Portugal    Liens : Net Avenir • PromoBenef • Ticket Gagnant