[Réglé] Passage de l'user session id page externe

Forum de support pour les questions concernant l'utilisation de phpBB 3.3, les problèmes rencontrés lors de manipulations, de configuration du forum ou de personnalisation autres que les Styles ou les Extensions

Modérateur: Equipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com

Pensez à effectuer une recherche, la réponse à votre question a de grandes chances d'avoir déjà été donnée.

[Réglé] Passage de l'user session id page externe

Messagepar EternalArcadia » 26 Aoû 2020 à 17:15

Bonjour à tous,

Voilà quelques heures que je cherche sur le web sans trouver d'élements de réponse.
Mon problème est assez simple, j'ai un forum en PhpBB3 ainsi qu'un site. Sur ce site, je récupère l'user id de l'utilisateur connecté pour interagir avec lui. Pas de souci particulier à la base, j'arrive bien à utiliser les différentes requêtes (type $user->data['user_id']).

Par contre, j'en aurais aussi besoin à l'intérieur de mes fonctions, et là ça bloque.
En détail en retirant le superflu :

J'ai une page index où tout commence :

index.php
Code: Tout sélectionner
require_once('./includes/phpbb.php');
require_once('./includes/functions.php');

include 'mapage.php';


Puis ensuite, dans l'ordre :

phpbb.php
Code: Tout sélectionner
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '../forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin();
$auth->acl($user->data);
$user->setup();
$request->enable_super_globals();


functions.php
Code: Tout sélectionner
function affAuteur()
{
// On retourne juste l'user id
return $user->data['user_id'];
}


Forcément, quand j'appelle cette fonction affAuteur, il ne connait pas l'user id. Dans la page courante pas de souci.

Ça parait assez bête comme ça mais je sais pas comment m'en sortir. J'ai tenté des choses comme l'inclusion de la page phpbb.php dans la fonction :

functions.php
Code: Tout sélectionner
function affAuteur()
{
include 'phpbb.php';
// On retourne juste l'user id
return $user->data['user_id']
}


Mais il me sort un message d'erreur :

Code: Tout sélectionner
Cannot declare class phpbb\class_loader, because the name is already in use in /homepages/36/d301353226/htdocs/forum/phpbb/class_loader.php on line 27


Ce qui est censé puisque oui, la classe a déjà été déclarée au tout début.
J'ai pensé à passer mon tableau $user en paramètre de ma fonction, ce qui fonctionnerait, mais j'ai aussi beaucoup d'appel AJAX de type :

Code: Tout sélectionner
$.ajax({
       url : 'post/post.php',
       type : 'POST',
       data : {
         data1 : 'xxx',
         data2: 'xxx',
       }
});


Et là forcément je ne peux pas passer mon $user en paramètre dans le POST, c'est pas terrible point de vu sécurité.

Ma question : comment faire pour accéder à mon tableau user en dehors des pages courantes ? La fonction append_sid n'est utile que pour passer la session à travers un lien mais pas au travers d'une fonction. Existe t-il un accès via $_SESSION ?

Merci à vous
EternalArcadia
Posteur néophyte
Posteur néophyte
 
Messages: 36
Enregistré le: 27 Sep 2008 à 14:47

Re: Passage de l'user session id page externe

Messagepar cocooncrash » 26 Aoû 2020 à 17:55

Bonjour,
Le lien vers votre forum plz??
decouvrez l'aide complete : ICI
découvrez les règles : La_bas

Pensez a ajouter le tag [réglé] en modifiant votre premier message s'il est résolu. Merci :wink:
Avatar de l’utilisateur
cocooncrash
Resp. des modérateurs
Resp. des modérateurs
 
Messages: 8143
Enregistré le: 07 Jan 2008 à 08:29
Localisation: dans un bocal en compagnie de nemo!!

Re: Passage de l'user session id page externe

Messagepar EternalArcadia » 26 Aoû 2020 à 18:03

C'est par ici.
Quand au site associé, c'est celui-ci. Les réglages des cookies sont bons (.shycomics.fr), les valeurs se passent bien sur le site.

Je précise que l'on travaille sur une refonte du site qui proposera ce lien forum -> site, ce n'est pas le cas actuellement sur la version en ligne.
EternalArcadia
Posteur néophyte
Posteur néophyte
 
Messages: 36
Enregistré le: 27 Sep 2008 à 14:47

Re: Passage de l'user session id page externe

Messagepar EternalArcadia » 26 Aoû 2020 à 20:49

A force d'essai j'ai fini par m'en sortir.

1. Il y avait parfois trop d'includes dans mon code, la classe était recréé.
2. J'ai fini par passer mon user en paramètre des fonctions.
3. Pour Ajax, il n'y avait en réalité pas de souci, il faut juste require_once aussi mon phpbb.php dans mon post.php pour retrouver mes sessions sans avoir à le passer au travers d'Ajax.

=> Le fait d'avoir cherché à passer mon user en paramètre des fonctions à régler le souci.
EternalArcadia
Posteur néophyte
Posteur néophyte
 
Messages: 36
Enregistré le: 27 Sep 2008 à 14:47


Retourner vers Utilisation

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

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

cron