[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 spitfire pat » 15 Mar 2010 à 18:52

mickaelteam a écrit:En revanche, les news ne s'affichent pas l'ordre croissant, mais décroissant :(

je ne comprends pas trés bien:
- ta première new est du Mar 23 Fév 2010 22:19
- la dernière du Sam 13 Mar 2010 17:19

elles sont donc bien en ordre croissant :?
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 mickaelteam » 15 Mar 2010 à 21:40

Bonsoir.

Je me suis trompé dans mon précédent message, veuillez m'en excuser.

Je souhaite justement le contraire > Décroissant -> Croissant

Merci beaucoup :)
mickaelteam
Posteur habitué
Posteur habitué
 
Messages: 212
Inscription: 22 Sep 2007 à 15:01
Avertissements: 5

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

Messagepar spitfire pat » 15 Mar 2010 à 22:35

étonnat que ton script ne plante pas en raison d'une erreur de syntaxe
Code: Tout sélectionner
       $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
               FROM ' . TOPICS_TABLE . ' t JOIN ' . POSTS_TABLE . ' p ON p.post_id=t.topic_first_post_id ' .
                  $where .
                ' GROUP BY t.topic_id ';
                  ' ORDER BY topic_time DESC ' .
                  ' LIMIT 0 , 10 ';

le point virgule à la fin de
Code: Tout sélectionner
               ' GROUP BY t.topic_id ';
termine l'instructions et les 2 lignes qui suivent deviennent complètement incongrues. remplace donc le point virgule par un point
et d'ailleurs toutes ces concaténations de chaines sont inutiles
Code: Tout sélectionner
                ' GROUP BY t.topic_id
                   ORDER BY topic_time DESC
                   LIMIT 0 , 10 ';
serait aussi bien
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 mickaelteam » 17 Mar 2010 à 08:52

Bonjour spitfire pat

En effet, j'avais parfois quelques erreurs..

J'ai recopié ce code sur les diverses pages de ce sujet. Niveau syntaxe, je suis très mauvais, faut le dire.

En tout cas, cela marche, et je vous en remercie énormément :)

Je vous souhaite une bonne journée.
mickaelteam
Posteur habitué
Posteur habitué
 
Messages: 212
Inscription: 22 Sep 2007 à 15:01
Avertissements: 5

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

Messagepar Keyserlike » 27 Mar 2010 à 16:02

Bonjour

Je suis en train de mettre en place un site internet pour l'organisation d'une coupe du monde sous trackmania.
Pour ceci j'utilise un CMS spécialement conçu pour se genre de site : http://www.zkup.fr/
Par contre ce CMS n'utilise pas de forum. J'ai réussi à intégrer mon forum dans le CMS, par contre :

Je veux utiliser le login du CMS pour me connecter au forum (pour éviter d'avoir a ce connecter sur 36 pages), je veux aussi que les nouveaux inscrit au CMS soit également inscrit au forum.

J'ai lu la documentation sur les sessions, par contre il y a des choses que je ne comprend pas :
- Où placer les scripts donnés : dans le code du CMS ou dans des fichiers à inclure
- Il ne faut pas de texte avant certaine ligne du script : on parle dans le fichier du script ou de la page internet ?

J'ai actuellement un fichier block_ login (voir code), si je comprend bien il faut que j'y ajoute le script en modifiant quelques variables ?
Code: Tout sélectionner
<div class="block">
            <h4><?php echo __('com.txt.login'); ?></h4>
            <div>
               <form method="POST" name="login" id="login" action="<?php echo href('',array('controleur'=>'EspaceMembre','action'=>'login'),false,true); ?>">
               <input type="text" name="login" id="login" value="" />
               <input type="password" name="password" id="password" value="" />
               <input type="submit" name="submit" value="login" />
               <div>
               <?php
               if ( MDP_OUBLIE ){
               echo href(__('com.txt.mdp_oublie'),array('controleur'=>'EspaceMembre','action'=>'MotDePassePerdu'));
               }
               
               if ( INSCRIPTION ){
               ?>
               &nbsp;&nbsp;
               -
               &nbsp;&nbsp;
               <?php echo href(__('com.action.inscription'),array('controleur'=>'EspaceMembre','action'=>'Inscription')); ?>
               <?php } ?>
               </div>
               </form>
               
            </div>
         </div>
Keyserlike
Posteur néophyte
Posteur néophyte
 
Messages: 9
Inscription: 27 Mar 2010 à 15:45

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

Messagepar spitfire pat » 27 Mar 2010 à 16:55

Keyserlike a écrit:Où placer les scripts donnés : dans le code du CMS ou dans des fichiers à inclure
peu importe, le résultat final est le même
pour plus de lisibilité, il serait sans doute préférable de placer les scripts dans un fichier à inclure
Il ne faut pas de texte avant certaine ligne du script : on parle dans le fichier du script ou de la page internet ?
on parle ici de l'ensemble des scripts, aucune instruction d'affichage, aucun code html ne doit avoir été envoyé par quel script que ce soit avant l'ouverture de 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

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

Messagepar Keyserlike » 27 Mar 2010 à 17:38

Bon alors si je comprend et si je veux utiliser les 2 scripts (connexion et inscription)

Je dois insérer le script de base dans le fichier index de mon site.
Code: Tout sélectionner
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './phpBB3/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin();
$auth->acl($user->data);
$user->setup();
?>


Et ensuite j'utilise les 2 scripts (connexion et inscription) dans le code du CMS lorsque j'en ai besoin ?

J'aurais surement d'autres questions par la suite, avant je vais reviser mes commandes form parce que j'ai du mal a comprendre comment le serveur va faire la différence entre la connexion au site et la connexion au forum.
Keyserlike
Posteur néophyte
Posteur néophyte
 
Messages: 9
Inscription: 27 Mar 2010 à 15:45

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

Messagepar trobert94 » 27 Mar 2010 à 22:23

Bonjour,

J'aimerais savoir s'il faut avec cette méthode faire quelque chose de spécial pour qu'un utilisateur utilisant la connexion automatique soit automatiquement connecté ou si le code de base le fait déjà.

Merci d'avance et merci pour ce tuto :)

A+
trobert94
Posteur néophyte
Posteur néophyte
 
Messages: 2
Inscription: 27 Mar 2010 à 22:20

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

Messagepar PeteHagor » 28 Mar 2010 à 05:06

Bonjour,

J'ai ajouté un champs "user_lastconnect_ip" dans ma table "phpbb_user".
Je souhaiterais que ce champs ce mette à jour dès que l'utilisateur est connecté.

Comment puis-je faire ?


J'utilise évidemment, les sessions sur mon site, sinon je ne posterais point ici :mrgreen:



Merci
PeteHagor
Posteur néophyte
Posteur néophyte
 
Messages: 37
Inscription: 23 Fév 2010 à 15:32

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

Messagepar spitfire pat » 28 Mar 2010 à 05:31

trobert94 le code de base assure la connexion automatique

PeteHagor est-ce bien utile ? il y a déjà dans la table des sessions un champ session_ip, ton champ user_lastconnect_ip fait donc double emploi
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

Messagepar PeteHagor » 28 Mar 2010 à 07:24

Pour moi oui.

J'ai créer ce champs dans le but de ressortir la dernière IP connue sur le profil des membres dans l'ACP & sur le forum.
Ca me permet de stocker celle-ci.
Ensuite j'adapterais le mode "duplicate IP" pour qu'il check aussi dans ce dit champ.

Mais, pour faire l'update via les sessions, je ne sais comment faire.


Merci de ton coup de main :)
PeteHagor
Posteur néophyte
Posteur néophyte
 
Messages: 37
Inscription: 23 Fév 2010 à 15:32

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

Messagepar spitfire pat » 28 Mar 2010 à 07:57

PeteHagor a écrit:J'ai créer ce champs dans le but de ressortir la dernière IP connue sur le profil des membres dans l'ACP & sur le forum.

ça t'oblige à créer deux requêtes sql dans session.php (l'une pour la fonction session_create et l'autre pour session_begin), c'est lourd, d'autant que c'est inutile, car la dernière IP connue, tu la retrouves avec $user->data['session_ip']
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

Messagepar trobert94 » 28 Mar 2010 à 12:26

Ok merci spitfire pat :)
trobert94
Posteur néophyte
Posteur néophyte
 
Messages: 2
Inscription: 27 Mar 2010 à 22:20

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

Messagepar PeteHagor » 28 Mar 2010 à 13:34

spitfire pat a écrit:ça t'oblige à créer deux requêtes sql dans session.php (l'une pour la fonction session_create et l'autre pour session_begin), c'est lourd, d'autant que c'est inutile, car la dernière IP connue, tu la retrouves avec $user->data['session_ip']


Je ne te suis pas. Pourquoi deux requêtes ?
Un "update" n'est-il point suffisant ?


Du genre :
Code: Tout sélectionner
UPDATE phpbb_users SET user_lastconnect_ip ='".$_SERVER["REMOTE_ADDR"]."' WHERE username ='".$user->username."'


Le seul truc, c'est que je ne sais pas où l'insérer.
PeteHagor
Posteur néophyte
Posteur néophyte
 
Messages: 37
Inscription: 23 Fév 2010 à 15:32

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

Messagepar spitfire pat » 28 Mar 2010 à 14:51

et justement, il faut l'insérer à 2 endroits: la fonction session_begin qui est lancée en premier et ensuite session_create si la première ne trouve pas de session valide
tu mettras donc
Code: Tout sélectionner
if ($this->data['user_id'] != ANONYMOUS)
{
   $sql = 'UPDATE ' . USERS_TABLE . '
      SET user_lastconnect_ip = ' .  $this->data['session_ip'] . '
      WHERE user_id = ' . (int) $this->data['user_id'];
   $db->sql_query($sql);
}

après
Code: Tout sélectionner
                     if ($this->data['user_id'] != ANONYMOUS && !empty($config['new_member_post_limit']) && $this->data['user_new'] && $config['new_member_post_limit'] <= $this->data['user_posts'])
                     {
                        $this->leave_newly_registered();
                     }

et avant
Code: Tout sélectionner
// Regenerate autologin/persistent login key


mais encore une fois, c'est totalement inutile
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 1 invité

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