[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 Dakin Quelia » 27 Juil 2009 à 15:21

Bonjour aureliendu917,

Sur ton forum, il manque le copyright phpBB et celui de la traduction... Vu que tu ne sembles pas respecter les auteurs de phpbb et les bénévoles de ce forum, je crains que tu ne reçoives pas d'aide. :)

A bientôt,
Image Aucun support par mail, MP ou msn.
Développeur d'une framework phpBB (outil)
Ouvrir un compte Gratuit chez Free-H? Détail complet en cliquant ici | Créer votre forum phpBB facilement: MyFF
Mon blogue: Mon blogue | Mon jeu de rôles: Sénat Galactique | Mon hébergeur: Free-H | phpBB Forge: cliquez ici

Image
Avatar de l’utilisateur
Dakin Quelia
Supporter
Supporter
 
Messages: 20391
Inscription: 31 Oct 2006 à 18:33
Localisation: Belgique

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

Messagepar aureliendu917 » 27 Juil 2009 à 16:23

sait bon j'ai remis le copyright désole :D
aureliendu917
Posteur néophyte
Posteur néophyte
 
Messages: 75
Inscription: 05 Mai 2009 à 16:33
Localisation: Fleury Mérogis
Avertissements: 2

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

Messagepar mathieu23 » 28 Juil 2009 à 13:44

Bonjour aureliendu917,

Si une fois le support obtenu tu enlèves encore une fois le copyright réglementaire au bas de ton forum je demande ton bannissement car nous n'allons pas te faire des rappels en permanence. Dès l'instant où tu as ce type de comportement je surveille ton forum aussi bien quand tu fais une demande chez nous que quand tu n'as plus besoin de nous et que tu enlèves de nouveau le copyright. Le mieux est donc d'éviter l'effet yoyo pour ne plus avoir de souci sur phpBB-fr.com.

Hier midi le copyright n'y était pas encore une fois. Il a été remis au moment où tu as posté ici.

Bonne journée à toi :wink:

http://msimsboutique.ton-hebergement-gratuit.com/forum/ et http://forum.simsous.com/ [survcopy]
Mathieu23
Ancien chef de groupe modération phpBB-fr.com
mathieu23
Superstar
 
Messages: 14819
Inscription: 01 Sep 2004 à 20:08

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

Messagepar Delirium6 » 30 Juil 2009 à 07:37

Bonjour,

Je viens de mettre en place un forum phpbb sur le site d'un copain et afin de simplifier l'utilisation du site, je lui est intégré les sessions phpbb afin que les utilisateurs n'est qu'un compte à créer pour le forum et pour le site. Tout ceci fonctionne à merveille est j'en suis ravi. Merci au tutoriel en question qu'il suffit de suivre pas à pas. Mais ce que j'aimerais, c'est que les utilisateurs puisse modifier leur compte avec une page approprié sans passer par l'interface du forum, directement sur le site. Hors, j'ai cherché sur ce forum peut-être, pas là où il fallait, des renseignements à ce sujet, mais rien qui ne m'éclaire bien pour ce développement. J'ai fouillé dans les sources de phpbb, j'ai bien retrouvé la fonction add_user() permettant de les créer mais aucune fonction correspondant à la modification d'un user, du mot de passe, email, civilité, nom, prénom ou autres caractéristiques d'un compte phpbb.

Voilà, le site est opérationnel sauf à ce niveau car je pensais trouver un autre tuto à ce sujet, mais j'éspère que l'on va pouvoir me donner des pistes afin de finaliser cette partie.

Merci d'avance.
Delirium6
Posteur néophyte
Posteur néophyte
 
Messages: 2
Inscription: 30 Juil 2009 à 07:24

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

Messagepar Hayden » 07 Aoû 2009 à 00:57

Bonjour,

Je rencontre un problème pour l'utilisation des sessions.

En faite, sur ma page d'index, j'ai une include pour la colonne de droite. J'ai placé le code suivant avant toutes les balises :

Code: Tout sélectionner
 define('IN_PHPBB', TRUE);

    $phpbb_root_path = 'forum/';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
   include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
   
   $user->session_begin();
   $auth->acl($user->data);
    $user->setup('', $forum_data['forum_style']);
   
   

   
   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);
         }
      }
      
    // Début de la gesntion des sessions phpbb
     
   $sql = 'SELECT p.*, t.*, u.user_id, u.username FROM ' . POSTS_TABLE . ' p JOIN ' . TOPICS_TABLE . ' t JOIN ' . USERS_TABLE . ' u
          ON p.topic_id = t.topic_id
          AND  u.user_id = p.poster_id
          ORDER BY p.post_id DESC LIMIT 4';
    $result = $db->sql_query($sql);
   
   function PrepareName($s)
{
$s = strtolower($s);
{ $change_space = "-";
if ($s != '')
$s = strtr($s,'áâàäéêèëíîìïóôòöúûùüýçñ','aaaaeeeeiiiioooouuuuycn');
$s = preg_replace("/(&gt;|&lt;|&quot;|&amp;)/",$change_space,$s);
$s = preg_replace("/[^a-z0-9_\-]/",$change_space,$s);
$s = preg_replace("/[$change_space]+/",$change_space,$s);
($s{0} == $change_space ? $s = substr($s,1) : '' );
($s{strlen($s)-1} == $change_space ? $s = substr($s,0, strlen($s)-1) : '' );
}
return $s;
return str_replace(' ','-',$r);
}

   
   $name = PrepareName($val['topic_title']);
$time = $val['topic_time'];
$time = date("d/m/Y", $time);
$title = addslashes($title);
$i=1-$i;


(j'utilise une partie du code pour afficher les derniers messages du forum sur le site).

Ensuite, dans mon include droite, je met le code suivant :

Code: Tout sélectionner
<?php if ($user->data['user_id'] != ANONYMOUS)
{
   
   echo 'Bienvenue <b>' . $user->data['username'] . '</b><br />';
    //AVATAR
             if($user->data['user_avatar'] != "http://" && $user->data['user_avatar'] != "")
             {
             // Si avatar
             if($user->data['user_avatar_type'] == "1")
             {
             echo '<img src="forum/download/file.php?avatar=' . $user->data['user_avatar'] . '" border="0" alt="' . $user->data['username'] . '">';
             }
             // Si avatar dans dossier "Upload"
             if($user->data['user_avatar_type'] == "2")
             {
             echo '<img src="forum/images/avatars/upload' . $user->data['user_avatar'] . '" border="0" alt="' . $user->data['username'] . '">';
             }
             // Si avatar dans dossier "Gallery"
             if($user->data['user_avatar_type'] == "3")
             {
             echo '<img src="forum/images/avatars/gallery/' . $user->data['user_avatar'] . '" border="0" alt="' . $user->data['username'] . '">';
             }
             }
             // Si Aucun Avatar
             else
             {
             echo '<center><img src="forum/aucun.png" border="0" alt="' . $user->data['username'] . '"></center>';
             }
   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&rsquo;ai oubli&eacute; mon mot de passe</a>
         </td>
      </tr>
      <tr>
     
      </tr>
      <tr>
         <td>&nbsp;</td>
         <td><input type="checkbox" name="autologin" tabindex="3" /> Me connecter automatiquement &agrave; chaque visite</td>
      </tr>
      <tr>
         <td>&nbsp;</td>
         <td><input type="checkbox" name="viewonline" tabindex="4" /> Cacher mon statut en 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
}
?>

(modifié pour afficher l'avatar).

En local sur un site sans include, cela fonctionne à merveille, mais sur le server dans cette include, cela affiche tout le temps : "Bienvenue Déconnexion". Pourtant la personne est bien déconnectée, mais cela s'affiche quand même tout le temps.

Une idée ?
Hayden
Posteur néophyte
Posteur néophyte
 
Messages: 79
Inscription: 28 Sep 2008 à 10:45

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

Messagepar Hayden » 10 Aoû 2009 à 09:13

Please help me, c'est urgent.
Hayden
Posteur néophyte
Posteur néophyte
 
Messages: 79
Inscription: 28 Sep 2008 à 10:45

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

Messagepar Nagashimas » 12 Aoû 2009 à 20:25

Bravo pour ce tutoriel, il est très bien expliqué.
Nagashimas
Posteur néophyte
Posteur néophyte
 
Messages: 1
Inscription: 04 Aoû 2009 à 20:27

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

Messagepar cloud » 19 Aoû 2009 à 02:51

bonjour,

je cherche un moyen avec le script de news de faire en sorte qu'a la place d'ouvrir la page du forum quand l'on clique sur le lien de la news d'ouvrir une autre page du site et y inclure la news dedans.

donc...

script de news sur le site

news numéro 1 sur le site

lien vers le sujet du forum
remplacer par:
lien vers le site ou l'on remplace les news par le sujet de la news numéro 1

si vous ne comprenez pas se que je veux dire je vais vous faire des images (et s'est pas une expression xD)

j'espère que vous savez comment faire ^^

et a+
cloud
Posteur néophyte
Posteur néophyte
 
Messages: 12
Inscription: 14 Nov 2008 à 01:40

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

Messagepar doublemetre » 25 Aoû 2009 à 00:43

Bonjour , vous allez me trouvez un peut bête mais j'arrive pas à protège ma page, j'ai bien mi le bout de code du tuto mais j'y ai toujours accès . .
pourquoi ??
Code: Tout sélectionner
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin();
$auth->acl($user->data);
$user->setup();
?>

Pouvez-vous me donner quelque exemple ? c'est pour créer un espace membre.
Merci de votre aide
doublemetre
Posteur néophyte
Posteur néophyte
 
Messages: 45
Inscription: 23 Aoû 2009 à 15:08

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

Messagepar Théonaute » 25 Aoû 2009 à 02:13

Bonjour,

Cette partie de code ne sert qu'à initialiser le système de phpBB sur votre page. Un exemple est donné dans le tutoriel lié en page 1 de ce sujet : documentation-phpbb3/sujet154874.html#p1183736

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 doublemetre » 25 Aoû 2009 à 16:50

Bonjour et merci !! ca fonctionne super bien . . .
doublemetre
Posteur néophyte
Posteur néophyte
 
Messages: 45
Inscription: 23 Aoû 2009 à 15:08

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

Messagepar parano78 » 05 Sep 2009 à 15:37

bonsoir :)

j'ai éssayer le code pour se connecter à la session du forum via le 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('');
    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('test.php?logout=true') . '">Déconnexion</a>';
      echo '<br /><a href="http://127.0.0.1/NS2%20WebSite/phpBB3/index.php">forum ici</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 à chaque visite</td>
          </tr>
          <tr>
             <td>&nbsp;</td>
             <td><input type="checkbox" name="viewonline" tabindex="4" /> Cacher mon statut en 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
    }
    ?>


le code à l'air de bien se connecter a la BDD de phpbb, car seulement mon identifiant fonctionne, mais après être logé (sur le site), quand je retourne sur le forum, je ne suis pas connecté

autre question, quelqu'un peut me dire ce que ce symbole signifie ?
Code: Tout sélectionner
$user->session_begin();
celui la "->"
j'apprend le php etc avec le site du zero (vive la pub) et je n'ai pas le souvenir d'avoir croisé ce symbole. Du coup je ne comprend aucune des ligne où il est utilisé..

merci d'avance a celui-celle qui m'aidera :)
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 » 05 Sep 2009 à 16:20

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)
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 noterc » 05 Sep 2009 à 17:14

Bonjour à vous et merci pour l'aide et le support que vous apportez sur ces forums. Grâce à toute la documentation trouvée ici, j'ai pu me créer facilement un forum et créer mon propre template pour qu'il s'intègre correctement à mon site. J'aimerai maintenant me lancer dans la mise en place d'un système de news, qui récupérerait le texte des annonces faites dans une certaine catégorie de mon forum pour l'afficher en page d'accueil de mon site.
J'ai pour cela suivit à la lettre le tutoriel proposé ici, et lu avec attention tout les messages s'y rapportant dans ce sujet de discussion. J'ai ainsi pu récupérer le titre des sujets, leurs contenu, et le nombre de réponses pour les afficher sur ma page de news, et limiter cet affichage aux premiers messages de chaque sujets.
Mon problème tient maintenant au fait que je n'arrive pas à faire en sorte que seuls les messages d'une certaine catégorie soient affichés, au lieu de tout les messages de mon forum. Mes connaissances en php étant plutôt faibles, j'arrive à m'en sortir lorsqu'il s'agit de comprendre une page de code pour l'adapter à mes besoins, mais beaucoup moins lorsqu'il s'agit de coder par moi-même certaines fonctionnalités en php.
Voici les diverses choses que j'ai tenté, sans résultat convenable :

Code: Tout sélectionner
$forum_id = request_var('forum_id', 0);
    $where = ($forum_id) ? " WHERE 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, f.forum_parent, forum_name
       FROM  ' . TOPICS_TABLE . ' t JOIN ' . POSTS_TABLE . ' p  ON p.post_id=t.topic_first_post_id ' . FORUMS_TABLE . ' f WHERE f.forum_parent="1" ' .
          $where .
        ' GROUP BY t.topic_id ' .
          ' ORDER BY t.topic_time DESC ' .
          ' LIMIT 0 , 10 ';
    $result = $db->sql_query($sql);


Ici j'obtiens une erreur MySQL
Erreur de syntaxe pr�s de 'phpbb_forums f WHERE f.forum_parent=1 GROUP BY t.topic_id ORDER BY t.topic_tim' � la ligne 2 [1064]


J'ai aussi tenté de simplement modifier la valeur de $forum_id par l'ID du forum en question, mais j'obtiens ici encore une erreur SQL:
Champ: 'forum_id' dans where clause est ambigu [1052]



J'ai fouiné dans PHPMyAdmin pour voir quelle table et quelle valeurs utiliser, j'ai relevé dans la table phpbb_forums, la valeur parent_id qui montre bien que les deux forums dans lequel je poste mes nouvelles sont dans la même catégorie (ou que les deux sous-forums sont dans le même forum) en affichant le même nombre, mais je ne sais pas comment utiliser cette valeur pour obtenir ce que je veux...
J'éspère que j'ai su expliquer à peu près mon problème...Si quelqu'un a une suggestion, ce serait super. :D
Merci d'avance. ;)
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 spitfire pat » 05 Sep 2009 à 18:07

il manque une virgule après topic_first_post_id
Code: Tout sélectionner
ON p.post_id=t.topic_first_post_id, '


ensuite ta variable $where pouvant contenir le mot-clé WHERE, il va y avoir un doublon avec WHERE f.forum_parent=1

enfin si forum_id est déclaré ambigû, c'est qu'il y a un champ de ce nom pour les 3 tables forums, ttopics et posts
il faudrait le remplacer par f.forum_id
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