recupérer le groupe de l'utilisateur

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

recupérer le groupe de l'utilisateur

Messagede coolhead6 le 04 Avr 2005 à 15:25

Bonjour,

J'ai un site avec phpBB comme forum.

Sur mon site je souhaite à un moment donné récupérer le login de la personne connecté.

Pour cela c ok. J'utilise les qql ligne de phpBB pour recupérer les sonnées de la session :

Code: Tout sélectionner
//=====================================================
//=== Utilisation des session phpBB ===================
//=====================================================
   //-- From index.php
   define('IN_PHPBB', true);
   $phpbb_root_path = '../../phpBB2-fr/';
   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
   
   // Generate logged in/logged out status
   if ( $userdata['session_logged_in'] ) {
      $u_login_logout = $phpbb_root_path . 'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id'];
      $l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]';
      $d_login_pass   = $userdata['user_password']."<pre>";
   }
   else {
      $u_login_logout = $phpbb_root_path . 'login.'.$phpEx;
      $l_login_logout = $lang['Login'];
   }      
//=====================================================
//=== Fin d'Utilisation des session phpBB =============
//=====================================================

J'utilise donc les données "$userdata['username']" et "$userdata['user_password']" , ... pour récupérer les info utilisateur n'importe ou dans le site.

Mais c la que le problème arrive.
Je ne trouve rien me permettant de remonter les groupes auquel le user est abonné, ou le niveau de l'utilisateur (Administrateur, Utilisateur, Modérateur, ...)... A part re-passer une requete SQL à ma sauce, ... Mais je pense qu'il y a une astuce mieux que cela dans phpBB; qui semble être utilisé dans le script "admin/admin_ug_auth.php".


Merci de votre aide @ tous,
coolhead6
Posteur néophyte
Posteur néophyte
 
Messages: 1
Inscription: 04 Avr 2005 à 15:08

Messagede spitfire pat le 04 Avr 2005 à 17:55

pour le niveau de l'utilisateur, c'est userdata['user_level']

pour connaitre ses groupes d'appartenance il faut faire une requête sql
Code: Tout sélectionner
$sql ="SELECT g.* FROM " . GROUPS_TABLE . " g JOIN " . USER_GROUP_TABLE . " ug
   ON g.group_id = ug.group_id
   WHERE g.group_single_user = 0 AND ug.user_id = " . $userdata['user_id'];
Avatar de l’utilisateur
spitfire pat
Superstar
 
Messages: 14673
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Messagede coolhead le 06 Avr 2005 à 09:45

ok merci ça fonctionne impec.

mais pour les groupes auquel un user est inscrit je ne trouve pas.
Je cherche pourtant à constituer un tableau array() avec tous les groupe auquel un user est inscrit
Avatar de l’utilisateur
coolhead
Posteur néophyte
Posteur néophyte
 
Messages: 66
Inscription: 04 Avr 2005 à 14:44
Localisation: in da House

Messagede coolhead le 16 Jan 2006 à 18:22

pourquoi j'ai cette erreur désormais ?
Code: Tout sélectionner
requête SQL : 

SELECT g. *
FROM phpbb_groups g
JOIN phpbb_user_group ug ON g.group_id = ug.group_id
WHERE g.group_single_user =0 AND ug.user_id =6
LIMIT 0 , 30

MySQL a répondu:


#1064 - You have an error in your SQL syntax near 'ON g.group_id = ug.group_id
WHERE g.group_single_user =0 AND ug.user_id =6 LIMIT' at line 3
In the beginning there was Jack, and Jack had a
groove. And from this groove came the groove of all grooves... And this is fresh.
Avatar de l’utilisateur
coolhead
Posteur néophyte
Posteur néophyte
 
Messages: 66
Inscription: 04 Avr 2005 à 14:44
Localisation: in da House

Messagede coolhead le 18 Jan 2006 à 17:27

Personne pour m'aider ? :(
In the beginning there was Jack, and Jack had a
groove. And from this groove came the groove of all grooves... And this is fresh.
Avatar de l’utilisateur
coolhead
Posteur néophyte
Posteur néophyte
 
Messages: 66
Inscription: 04 Avr 2005 à 14:44
Localisation: in da House

Messagede YetiKiller le 18 Jan 2006 à 18:42

Salut,

J'ai tésté ceci
Code: Tout sélectionner
<?php
include_once('config.inc.php');
$sql = "SELECT g. *
           FROM phpbb_groups g
           JOIN phpbb_user_group ug ON g.group_id = ug.group_id
           WHERE ug.user_id = 2";
$req = mysql_query($sql);
while($tab = mysql_fetch_array($req))
{
   $nom = $tab['group_name'];
   echo $nom."<br>";
}

Et ça fonctionne très bien !
J'ai la liste des groupes du membre avec l'id 2 !

@+
Avatar de l’utilisateur
YetiKiller
Posteur néophyte
Posteur néophyte
 
Messages: 90
Inscription: 09 Oct 2004 à 18:34
Localisation: Caen (14)

Messagede coolhead le 20 Jan 2006 à 09:08

Problème :evil:

Je suis chez OVH et ils ne permettent pas le JOIN
Bonjour,

malheuresement ce n'est pas possible d utilisez le jion sur nos serveur.

Cordialement,

| Nouveau:
|
| Suivez l'état des réseaux/machines, les opérations en cours depuis:
| http://travaux.ovh.com/


Comment faire :?:
In the beginning there was Jack, and Jack had a
groove. And from this groove came the groove of all grooves... And this is fresh.
Avatar de l’utilisateur
coolhead
Posteur néophyte
Posteur néophyte
 
Messages: 66
Inscription: 04 Avr 2005 à 14:44
Localisation: in da House

Messagede YetiKiller le 20 Jan 2006 à 18:12

Salut,

Il suffit de transformer ta requête !
Code: Tout sélectionner
SELECT g.*, ug.*
FROM phpbb_groups g, phpbb_user_group ug
WHERE g.group_id = ug.group_id
AND g.group_single_user = 0
AND ug.user_id = 6
LIMIT 0 , 30

@+ :wink:
Avatar de l’utilisateur
YetiKiller
Posteur néophyte
Posteur néophyte
 
Messages: 90
Inscription: 09 Oct 2004 à 18:34
Localisation: Caen (14)

Messagede Oyo le 20 Jan 2006 à 18:26

lol savent pas écrire chez OVH ou alors le support est en carton ?


En ce qui concerne le sujet c'est un dev perso ou public, si c'est un privé je déplace dans coding ;)
U-Web | Mods phpBB
Pas de support par MP ¦ MSN ¦ Mail ¦ Skype ¦ Téléphone ¦ Courrier Postal...

Cadeaux de Noël pour les enfants défavorisés, visitez http://www.monbeausapin.org
MonBeauSapin versera à l’opération “Arbres de Noël” de la Croix Rouge, une somme correspondant au nombre total de visites de leur site, ce don permettra d’offrir des cadeaux aux enfants défavorisés pour Noël.
Avatar de l’utilisateur
Oyo
Admini furtif
Admini furtif
 
Messages: 15066
Inscription: 12 Fév 2003 à 19:02
Localisation: Paris

Messagede coolhead le 23 Jan 2006 à 09:53

Bonjour,

il s'agit bien d'un dev. Perso (privé :? )
In the beginning there was Jack, and Jack had a
groove. And from this groove came the groove of all grooves... And this is fresh.
Avatar de l’utilisateur
coolhead
Posteur néophyte
Posteur néophyte
 
Messages: 66
Inscription: 04 Avr 2005 à 14:44
Localisation: in da House

Messagede MGD le 23 Jan 2006 à 10:10

Votre sujet a été déplacé par un modérateur.
Image Image
Avatar de l’utilisateur
MGD
Dieu des floodeurs
Dieu des floodeurs
 
Messages: 6266
Inscription: 04 Aoû 2004 à 09:45
Localisation: Metz ARL57


Retourner vers Coding, Webmastering et Sécurité informatique

Qui est en ligne

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

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