[INFO] sur l'utilisation des sessions de phpBB3 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

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

Messagepar GhostKiller » 20 Nov 2008 à 12:28

D'accord, ça commence à s'éclaircir dans ma tête.

Pour ce qui en est de l'erreur actuelle ?
Code: Tout sélectionner
    define('IN_PHPBB', true);
    $phpbb_root_path =  './phpBB3/';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();
    $forum_id = 35;
$where = ($forum_id) ? " WHERE t.forum_id=$forum_id" : '';
$sql = 'SELECT t.forum_id,t.topic_id, t.topic_time, t.topic_title, t.topic_replies, t.topic_poster, t.topic_first_poster_name, t.topic_first_poster_colour, p.post_text, p.bbcode_bitfield, p.bbcode_uid, u.user_avatar

FROM ((' . TOPICS_TABLE . ' t JOIN ' . POSTS_TABLE . ' p ON p.post_id=t.topic_first_post_id) JOIN ' . USERS_TABLE . ' u ON p.poster_id=u.user_id ' .
          $where .
        ' GROUP BY t.topic_id ';
          ' ORDER BY topic_time DESC ' .
          ' LIMIT 0 , 10 ';


Erreur générale
SQL ERROR [ mysql4 ]

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE t.forum_id=35 GROUP BY t.topic_id' at line 3 [1064]

SQL

SELECT t.forum_id,t.topic_id, t.topic_time, t.topic_title, t.topic_replies, t.topic_poster, t.topic_first_poster_name, t.topic_first_poster_colour, p.post_text, p.bbcode_bitfield, p.bbcode_uid, u.user_avatar FROM ((phpbb_topics t JOIN phpbb_posts p ON p.post_id=t.topic_first_post_id) JOIN phpbb_users u ON p.poster_id=u.user_id WHERE t.forum_id=35 GROUP BY t.topic_id

BACKTRACE

FILE: includes/db/mysql.php
LINE: 174
CALL: dbal_mysql->sql_error()

FILE: homez.59/wakfufra/www/news.php
LINE: 22
CALL: dbal_mysql->sql_query()
Image
GhostKiller
Posteur néophyte
Posteur néophyte
 
Messages: 52
Inscription: 18 Avr 2007 à 20:16

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

Messagepar spitfire pat » 20 Nov 2008 à 15:28

il te manque une parenthèse fermante que je marque ici en rouge
FROM ((phpbb_topics t JOIN phpbb_posts p ON p.post_id=t.topic_first_post_id) JOIN phpbb_users u ON p.poster_id=u.user_id)
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

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

Messagepar GhostKiller » 20 Nov 2008 à 15:55

Et bien que dire à part merci pour tout ...
Regarde le résultat :P
http://www.wakfu-france.fr/news.php

Dit moi ce que tu en pense, ce qui va pas, ce que je devrais rajouter ... :P

edit: hum, forum en utf8 mon site en iso ... Que faire ? :p
Image
GhostKiller
Posteur néophyte
Posteur néophyte
 
Messages: 52
Inscription: 18 Avr 2007 à 20:16

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

Messagepar Jaguar 0009 » 20 Nov 2008 à 21:38

Bonjour Spitfire pat et merci pour ce superbe tuto (que j'ai lu mais pas encore mis en oeuvre) !

Je me pose une question à laquelle je n'ai pas trouvé de réponse : quelle est la manière la plus logique d'utiliser des variables de session (propres à mes pages, pas des variables de phpBB) ? Avec des $_SESSION ou phpBB nous offre-t-il une meilleure méthode ?
Jaguar 0009
Posteur néophyte
Posteur néophyte
 
Messages: 20
Inscription: 14 Avr 2005 à 11:36
Localisation: Lyon

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

Messagepar spitfire pat » 21 Nov 2008 à 08:14

Jaguar 0009 a écrit:quelle est la manière la plus logique d'utiliser des variables de session (propres à mes pages, pas des variables de phpBB) ?

si tu as des variables propres à tes pages, alors il faut utiliser $_SESSION, phpBB se contenant de fournir des variables tirées de la table des users et des sessions.
une précaution: ne pas donner à des variables php le même non qu'une clé de session. par exemple si tu fais
Code: Tout sélectionner
$username = $_SESSION['username']
la prochaine session phpBB va faire disparaitre $username
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

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

Messagepar Jaguar 0009 » 21 Nov 2008 à 09:20

Bonjour Spitfire pat et merci pour ta réponse.
Je me suis donc lancé dans le concret en suivant ton tuto. Tout fonctionne parfaitement. J'ai inclus deux pages persos dans une session phpBB. J'affiche et j'utilise des variables de phpBB sur ces pages sans problème.

Par contre, impossible d'utiliser d'autres variables de session.
Si je crée par exemple $_SESSION['VariableTest'] = 'hello'; sur une page, $_SESSION['VariableTest'] ne contient plus rien sur la deuxième page.
Est-il possible que ma session soit perdue pour les variables $_SESSION alors qu'elle ne l'est pas pour phpBB ?

Précision : le chemin du cookie de phpBB est bien "/".
Jaguar 0009
Posteur néophyte
Posteur néophyte
 
Messages: 20
Inscription: 14 Avr 2005 à 11:36
Localisation: Lyon

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

Messagepar spitfire pat » 21 Nov 2008 à 11:13

Si je crée par exemple $_SESSION['VariableTest'] = 'hello'; sur une page, $_SESSION['VariableTest'] ne contient plus rien sur la deuxième page.[/quote]
tu as pensé à faire débuter tes deux pages par session_start(); ?
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

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

Messagepar Jaguar 0009 » 21 Nov 2008 à 11:27

spitfire pat a écrit:tu as pensé à faire débuter tes deux pages par session_start(); ?
Oui, j'y ai pensé :D mais je me suis dit que la session était déjà ouvert par le session_begin() de phpBB (c'est comme ça que je l'avais compris)...
J'avais quand même dans le doute essayé, et voici le message d'erreur que cela générait (2 fois de suite !) sur ma page :
Code: Tout sélectionner
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /homepages/11/d247773290/htdocs/cato/princi/dev/main/test-demo.php:7) in /homepages/11/d247773290/htdocs/cato/princi/dev/main/test-demo.php on line 8
Jaguar 0009
Posteur néophyte
Posteur néophyte
 
Messages: 20
Inscription: 14 Avr 2005 à 11:36
Localisation: Lyon

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

Messagepar Jaguar 0009 » 21 Nov 2008 à 11:40

Je précise pour que cela soit bien clair que, maintenant, mes deux pages commencent par ça :
Code: Tout sélectionner
<?php
session_start();

// Initialisations phpBB :
define('IN_PHPBB', true);
$phpbb_root_path = '../../forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management :
$user->session_begin();
$auth->acl($user->data);
$user->setup();

$user->get_profile_fields($user->data['user_id']);
Jaguar 0009
Posteur néophyte
Posteur néophyte
 
Messages: 20
Inscription: 14 Avr 2005 à 11:36
Localisation: Lyon

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

Messagepar GhostKiller » 21 Nov 2008 à 12:00

GhostKiller a écrit:Et bien que dire à part merci pour tout ...
Regarde le résultat :P
http://www.wakfu-france.fr/news.php

Dit moi ce que tu en pense, ce qui va pas, ce que je devrais rajouter ... :P

edit: hum, forum en utf8 mon site en iso ... Que faire ? :p


Salut SpitFire pat, tu aurais une idée concernant mon problème ? Autre que de passer ma page WEB en UTF8 ? :o
Image
GhostKiller
Posteur néophyte
Posteur néophyte
 
Messages: 52
Inscription: 18 Avr 2007 à 20:16

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

Messagepar spitfire pat » 21 Nov 2008 à 12:07

GhostKiller je pense que tu auras du mal à faire cohabiter des pages en iso avec d'autres en utf8

Jaguar 0009 tu ferais mieux d'éditer tes messages plutôt que poster plusieurs messages à la suite
- d'abord parce que c'est interdit par le régelement
- et surtout maintenant je ne sais plus si au script du 2e message correspond l'erreur du 1e message
bref tu ferais mieux de mettre un lien vers le script intégral
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

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

Messagepar Jaguar 0009 » 21 Nov 2008 à 12:18

spitfire pat a écrit:tu ferais mieux d'éditer tes messages plutôt que poster plusieurs messages à la suite
OK. Moi je n'aime pas que le post auquel je suis en train de répondre change de contenu en cours de route... Mais puisque c'est le règlement :D ...
spitfire pat a écrit:je ne sais plus si au script du 2e message correspond l'erreur du 1e message
Oui. C'est bien ces quelques lignes en début des deux pages qui provoquent cette erreur.
Jaguar 0009
Posteur néophyte
Posteur néophyte
 
Messages: 20
Inscription: 14 Avr 2005 à 11:36
Localisation: Lyon

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

Messagepar spitfire pat » 21 Nov 2008 à 12:52

Jaguar 0009 a écrit:Oui. C'est bien ces quelques lignes en début des deux pages qui provoquent cette erreur.

eh bien c'est qu'il y a eu du texte affiché avant cette ligne
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

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

Messagepar Jaguar 0009 » 21 Nov 2008 à 12:59

spitfire pat a écrit:
Jaguar 0009 a écrit:Oui. C'est bien ces quelques lignes en début des deux pages qui provoquent cette erreur.
eh bien c'est qu'il y a eu du texte affiché avant cette ligne
Il n'y a rien avant cette ligne. Voici les 16 premières lignes de ces deux pages :
Code: Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<!--  Version 0.01 du 21/11/2008.                              -->

<?php
session_start();

// Initialisations phpBB :
define('IN_PHPBB', true);
$phpbb_root_path = '../../forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management :
$user->session_begin();
Jaguar 0009
Posteur néophyte
Posteur néophyte
 
Messages: 20
Inscription: 14 Avr 2005 à 11:36
Localisation: Lyon

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

Messagepar spitfire pat » 21 Nov 2008 à 13:11

Jaguar 0009 a écrit:Il n'y a rien avant cette ligne.
si, il ya ça:
Code: Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
un entête html, c'est du texte et ça suffit à faire capoter aussi bien session_start() que la session phpBB
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

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 2 invités

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