ZONE MEMBRE EN SYMBIOSE AVEC LE FORUM PHPBB

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 - 26 oct. 2005 à 22:50
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 - 4 juin 2007 à 11:51
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/34363-zone-membre-en-symbiose-avec-le-forum-phpbb

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
4 juin 2007 à 11:51
Salut,

Je sais, la source est vieille, mais je viens seulement de tomber dessus, par hasard...

Y'en a vraiment qui se cassent la tête pour pas grand chose...
Pour utiliser les session de phpBB2 :

<?
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_NEWS);

init_userprefs($userdata);

//

// End session management


// Suite du code de sa page
echo 'Bonjour ' . $userdata['username'] . ' !
Bienvenue dans le site à côté du forum';

?>

C'est tout.
Pour se connecter, il suffit de faire un lien vers la page login.php?redirect=url.php¶m1=a¶m2=b
L'url de redirection est utilisée automatiquement après la connexion. Il suffit de remplacer le point d'interrogation (si besoin) par une esperluette et le script corrige tout seul ensuite.

C'est pourtant pas compliqué, y'a de la doc sur ce sujet sur le site de phpBB...
taxidogkiller Messages postés 39 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 1 mars 2009
14 nov. 2006 à 20:28
Merci beaucoup pour cette source !! si je n'étais pas tombé dessus je me préparais à codé mon propre forum !
iow4 Messages postés 302 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 2 novembre 2008 4
24 oct. 2006 à 20:23
A noter aussi que j'ai codé cette source il y a longtemps. Depuis j'ai evolué je prepare donc une version amélioré.

Sans oublié que avec la derniere version de PhpBB le mot de passe contenu dans le cookie est hashé deux fois donc la technique presenté ici est obselete avec la derniere version
iow4 Messages postés 302 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 2 novembre 2008 4
24 oct. 2006 à 20:20
Phpbb n'utilise même pas les sessions d'après ce que j'ai compris :-D

PhpBB n'est pas le forum le plus facil a modifier
powange Messages postés 3 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 6 novembre 2005
6 nov. 2005 à 01:08
voila un tutorial plus recent et plus simple d'utilisation..
http://www.phpbbfrance.org/forum/viewtopic.php?t=2029

Par contre gros chapeau pour avoir trouvé ce script.. ta du en baver, car les sessions phpbb sont un vrai foutoir
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 oct. 2005 à 10:32
Tu es sûr de chopper tout avec cette requête :

$reponse = mysql_query("SELECT * FROM phpbb_config WHERE config_name='cookie_name' ") ;

?

ensuite évite les $HTTP_COOKIES_VARS['variable'] à remplacer par $_COOKIE['variable']
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 oct. 2005 à 10:29
Salut,

"Et aussi, tu peut réduire un bout de code de deux requetes SQL à une seule requéte :"

on parle de PHPBB là, pour une parfaite symbiose faudrait une identification qui nous fasse au moins 15 requêtes ^^
iow4 Messages postés 302 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 2 novembre 2008 4
28 oct. 2005 à 17:57
merci mais symbiose j'entend par que il se logue entre eux

il sont pas completement ensemble enfete j'ai fait sa car le systeme de session et Phpbb est trop complique
donc sa permet d'aboutir sur une zone membre simple
cs_Shisui Messages postés 34 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 17 janvier 2007
28 oct. 2005 à 14:45
Symbiose, Symbiose c'est vite dit :) Pour que ton script soit encore plus intégré au systéme de phpBB, faudrait rajouter et modifier quelques petites choses, par exemple, au tout début de ton fichier un :
define('IN_PHPBB', true); // Pour ne pas que les scripts suivants fassent un méchant die() ^^
$phpbb_dir = './'; // Indiquer ici le répertoire racine de phpBB
include($phpbb_dir . 'extension.inc'); // Extension des fichiers du forum
include($phpbb_dir . 'common.'.$phpEx); // Fichier principal de phpBB

Ensuite, avec ça, tu peut remplacer tout les noms de tables par les constantes de phpBB (et oui, ya des gens qui mettent pas forcément phpbb_ en préfixe des table ^^), à savoir les plus importantes ici : CONFIG_TABLE pour phpbb_config et USERS_TABLE pour phpbb_users.

Et aussi, tu peut réduire un bout de code de deux requetes SQL à une seule requéte :
$retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM phpbb_users WHERE user_id='$user_id' AND user_password='$autologin_id' ") or die("erreur dans le requete sql ") ; // compte
$donnees = mysql_fetch_array($retour);
$nbr = $donnees['nbre_entrees'];
if ( $nbr == 0 )
{
echo "erreur dans votre identification" ;
exit();
}

// chope pseudo
$reponse = mysql_query("SELECT * FROM phpbb_users WHERE user_id='$user_id' AND user_password='$autologin_id' ") ;
while ($donnees = mysql_fetch_array($reponse) )
{
$pseudo = $donnees['username'];
}

Peut etre remplacé par :
$retour = mysql_query("SELECT username FROM phpbb_users WHERE user_id='$user_id' AND user_password='$autologin_id' ") or die("erreur dans le requete sql ") ;
if (!mysql_num_rows($retour))
{
exit("erreur dans votre identification");
}
$donnees = mysql_fetch_array($retour)
$pseudo = $donnees['username'];

mysql_num_rows() retourne le nombre de ligne qui on été affectées par la requéte, donc si le pseudo n'existe pas ca sera 0, donc !mysql_num_rows($retour) sera vérfié ;) (NB: tu peut mettre le message de sortie directement dans exit() :) )

Voilà, sinon j'ai pas trop regardé en détail mais le reste a l'air pas mal ^^
@++
iow4 Messages postés 302 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 2 novembre 2008 4
27 oct. 2005 à 11:41
lol le systeme d'authentification de phpbb j'y comprend rien !!

alors pour la zone membre je cree une bonne variable qui me dit si oui ou non l'user est logue
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
26 oct. 2005 à 22:50
Salut!
L'idée est pas mal mais alors pourquoi utiliser des variables de session?

Ce que j'avais fais c'est que j'avais rajouté des variables à la session de phpBB ( qui est stockée dans une table mysql ) et comme ca je reste 100% phpBB

@++

R@f
Rejoignez-nous