[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 noterc » 05 Sep 2009 à 18:24

il manque une virgule après topic_first_post_id

Code: Tout sélectionner
Code: Tout sélectionner
    ON p.post_id=t.topic_first_post_id, '



J'obiens une erreur lorsque je place une virgule ici:
Erreur de syntaxe pr�s de 'ORDER BY topic_time DESC, LIMIT 0 , 10' � la ligne 2 [1064]


Et en effet la variable $where contient deja le mot-clé WHERE:
Code: Tout sélectionner
$where = ($forum_id) ? " WHERE forum_id=$forum_id" : '';

Comment éviter le doublon ici ?

J'ai essayé de remplacer le forum_id par un t.forum_id (puisque c'est celle-ci qui est appelé par $sql), je n'ai plus de problème d'ambiguité mais par contre ma page n'affiche plus rien du tout lorsque je remplace la valeur de $forum_id par l'ID "1", qui est le forum qui contient les deux sous-forums "2" et "3". Par contre lorsque j'inclue l'ID d'un des sous-forums, j'arrive bien à afficher seulement l'un de ces deux derniers.
La question suivante est donc comment faire pour afficher les message de mes deux sous-forums au lieu d'un seul? :)

Edit Au temps pour moi, j'ai trouvé l'astuce.
Code: Tout sélectionner
$forum_id = 2;
   $forum_id2 = 3;
    $where = ($forum_id) ? " WHERE t.forum_id=$forum_id OR t.forum_id=$forum_id2" : '';

Ca semble fonctionner et afficher seulement les messages des deux sous-forums. Merci pour l'aide, et si quelqu'un se sens de me confirmer que mon code est valide, j'en serai que plus satisfait. Merci encore. :D
noterc
Posteur néophyte
Posteur néophyte
 
Messages: 2
Inscription: 05 Sep 2009 à 16:10

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

Messagepar parano78 » 05 Sep 2009 à 19:13

spitfire pat a écrit:est-ce que tu as coché la case connexion automatique dans ton formulaire de connexion ? sinon, évidemment, tu risques de perdre la connexion en changeant de page

Code: Tout sélectionner
$user->session_begin();

signifie que tu fais appel à la fonction session_begin de l'objet $user, c'est de la programmation par objets (poo)


merci de m'avoir répondu ^^

oui j'ai bien cliqué sur "cnx automatique" pourtant rien n'y fait, quand je reviens sur le forum, je suis déco.

Edit : j'ai rien configurer niveau cookie depuis l'instal, vous pensez que çà a quelquechose a voir ?
parano78
Posteur néophyte
Posteur néophyte
 
Messages: 14
Inscription: 05 Sep 2009 à 15:29

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

Messagepar parano78 » 06 Sep 2009 à 11:11

j'ai essayé toute les soluces du web!!! rien n'y fait, j'arrive pas a garder la session au changement de page...
j'ai beau me connecter avec un autre onglet sur le forum, quand je refresh ma page index
(qui contient çà)
Code: Tout sélectionner
<?php
   define('IN_SITE', true);
   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_posting.' . $phpEx);
   $user->session_begin();
   $auth->acl($user->data);
?>


je ne suis pas loggé.

quand je me log avec mon login.php
Code: Tout sélectionner
<?php

    if (isset($_GET['logout']))
    {
       $user->session_kill();
       $user->session_begin();
    }
    if (isset($_POST['login']))
    {
       $username = request_var('username', '', true);
       $password    = request_var('password', '', true);
       $autologin   = (!empty($_POST['autologin'])) ? true : false;
       $viewonline = (!empty($_POST['viewonline'])) ? 0 : 1;
       $admin = 0;
       $result = $auth->login($username, $password, $autologin, $viewonline, $admin);
       if ($result['status'] != LOGIN_SUCCESS)
       {
          $err = $user->lang[$result['error_msg']];
          if ($result['error_msg'] == 'LOGIN_ERROR_USERNAME' || $result['error_msg'] == 'LOGIN_ERROR_PASSWORD')
          {
             $err = (!$config['board_contact']) ? sprintf($user->lang[$result['error_msg']], '', '') : sprintf($user->lang[$result['error_msg']], '<a href="mailto:' . htmlspecialchars($config['board_contact']) . '">', '</a>');
          }
       }
       else
       {
          $auth->acl($user->data);
       }
    }
    if ($user->data['user_id'] != ANONYMOUS)
    {
       echo 'Bienvenue ' . $user->data['username'] . '<br />';
       echo '<a href="' . append_sid('index.php?logout=true') . '">Déconnexion</a>';
    }
    else
    {
       if($err)
      {
         echo "<font color=red><b>$err</b></font>";
      }
    ?>
    <form method="post">
       <table>
          <tr>
             <td align="right">Pseudo:</td>
             <td><input type="text" tabindex="1" name="username" size="25" /></td>
          </tr>
          <tr>
             <td align="right">Mot de passe:</td>
             <td><input type="password" tabindex="2" name="password" size="25" />
             <br /><a href="<?php echo append_sid("{$phpbb_root_path}ucp.$phpEx?mode=sendpassword"); ?>">J’ai oublié mon mot de passe</a>
             </td>
          </tr>
          <tr>
         
          </tr>
          <tr>
             <td>&nbsp;</td>
             <td><input type="checkbox" name="autologin" tabindex="3" /> Me connecter automatiquement.</td>
          </tr>
          <tr>
             <td>&nbsp;</td>
             <td><input type="checkbox" name="viewonline" tabindex="4" /> Apparaitre hors ligne pour cette session</td>
          </tr>
          <tr>
             <td colspan="2" align="center"><input type="submit" name="login" tabindex="5" value="Connexion" /></td>
          </tr>
       </table>
    </form>
    <?php
    }
    ?>

je suis connecté, mais des que je change de page ou même que je refresh => a pu session..


mon dossier est comme ceci :
Image
parano78
Posteur néophyte
Posteur néophyte
 
Messages: 14
Inscription: 05 Sep 2009 à 15:29

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

Messagepar spitfire pat » 06 Sep 2009 à 11:35

comment se fait la liaison entre ta page d'index et ton login.php ?
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 parano78 » 06 Sep 2009 à 15:10

un include dans index.php
parano78
Posteur néophyte
Posteur néophyte
 
Messages: 14
Inscription: 05 Sep 2009 à 15:29

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

Messagepar spitfire pat » 06 Sep 2009 à 16:14

bon, met ta page d'index dans un zip et passe-moi le lien
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 parano78 » 06 Sep 2009 à 19:19

parano78
Posteur néophyte
Posteur néophyte
 
Messages: 14
Inscription: 05 Sep 2009 à 15:29

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

Messagepar parano78 » 07 Sep 2009 à 16:28

Up
parano78
Posteur néophyte
Posteur néophyte
 
Messages: 14
Inscription: 05 Sep 2009 à 15:29

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

Messagepar spitfire pat » 07 Sep 2009 à 16:50

une petite minute, pas eu le temps de me pencher sur ton script
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 Théonaute » 07 Sep 2009 à 22:26

Bonsoir,

parano78 > Merci de ne faire des UPs que toutes les 24 heures minimum !

Bien à vous,
Théonaute | Retraité de l'équipe des MODs
Citation :
<?php while(!($succeed = try())) ?>
Désolé, je ne fais plus de support pour phpBB et tous mes MODs ont été arrêtés.
Avatar de l’utilisateur
Théonaute
Dieu des floodeurs
Dieu des floodeurs
 
Messages: 5702
Inscription: 22 Jan 2006 à 15:45
Localisation: Montréal

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

Messagepar parano78 » 08 Sep 2009 à 22:29

UP
parano78
Posteur néophyte
Posteur néophyte
 
Messages: 14
Inscription: 05 Sep 2009 à 15:29

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

Messagepar spitfire pat » 08 Sep 2009 à 23:44

tes ups servent à rien tu sais ?
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 spitfire pat » 09 Sep 2009 à 08:12

il y a des éléments dans login.php qui doivent être exécutés avant tout affichage, aussi enleve de login.php ces lignes
Code: Tout sélectionner
if (isset($_GET['logout']))
{
   $user->session_kill();
   $user->session_begin();
}
if (isset($_POST['login']))
{
   $username = request_var('username', '', true);
   $password    = request_var('password', '', true);
   $autologin   = (!empty($_POST['autologin'])) ? true : false;
   $viewonline = (!empty($_POST['viewonline'])) ? 0 : 1;
   $admin = 0;
   $result = $auth->login($username, $password, $autologin, $viewonline, $admin);
   if ($result['status'] != LOGIN_SUCCESS)
   {
      $err = $user->lang[$result['error_msg']];
      if ($result['error_msg'] == 'LOGIN_ERROR_USERNAME' || $result['error_msg'] == 'LOGIN_ERROR_PASSWORD')
      {
         $err = (!$config['board_contact']) ? sprintf($user->lang[$result['error_msg']], '', '') : sprintf($user->lang[$result['error_msg']], '<a href="mailto:' . htmlspecialchars($config['board_contact']) . '">', '</a>');
      }
   }
   else
   {
      $auth->acl($user->data);
   }
}

et place les dans un autre fichier que tu nommeras par exemple test_login.php
dans login.php il ne restera donc plus que les informations de connexion et éventuellement le formulaire
et dans index.php tu mettras juste après le lancement de la session phpBB
Code: Tout sélectionner
include('test_login.php');
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 parano78 » 09 Sep 2009 à 10:44

merci pour ta réponse :)

j'ai tout fais comme tu as dit, mais çà n'a rien changé :/
toujours une perte de session.

Code: Tout sélectionner
   define('IN_PHPBB', true);
   $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './phpbb3/';
   $phpEx = substr(strrchr(__FILE__, '.'), 1);
   include($phpbb_root_path . 'common.' . $phpEx);
   include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
   // Start session management
   $user->session_begin();
   $auth->acl($user->data); // j'ai testé aussi en méttant cette ligne en dessous ou en la supprimant
   include('test_login.php');


v'la le début d'index.php maintenant :)
parano78
Posteur néophyte
Posteur néophyte
 
Messages: 14
Inscription: 05 Sep 2009 à 15:29

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

Messagepar spitfire pat » 09 Sep 2009 à 11:43

c'est curieux, moi je n'ai pas sur mon forum local cette perte de session
alors je vois pas :?
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: Bing [Bot] et 1 invité

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