[Doc] Utiliser les sessions de phpbb3

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 cette section.

Modérateur: Equipe

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

[Doc] Utiliser les sessions de phpbb3

Messagepar Bloody-wave » 07 Mar 2008 à 02:18

Utiliser les sessions de phpbb3
Suite aux multiples questions au sujet de ces fameuses sessions restées sans réponse, j'ai décidé de vous faire ce petit tuto pour vous expliquer comment installer et utiliser les sessions de phpbb3.
Personnellement, j'ai mis un bon moment avant de réussir, mais vous, vous devriez y arriver assez facilement.
Suivez le guide... ;)


Duplication de fichier:
Pourquoi copier ces fichier???
Tout simplement parce qu'il sont nécessaires pour que le forum puisse créer les sessions et faire les redirections lors de l'identification. Le fait de les copier permet de garder votre page complètement indépendante du forum, ce qui est plus simple à gérer.


    Liste des fichiers à dupliquer:

  • ucp.php => site_ucp.php
  • common.php => site_common.php
  • includes/sessions.php => includes/site_sessions.php

site_ucp.php

trouver:
Code: Tout sélectionner
require($phpbb_root_path 'common.' $phpEx);     

remplacer par:
Code: Tout sélectionner
require($phpbb_root_path 'site_common.' $phpEx);     


trouver:
Code: Tout sélectionner
$message $user->lang['LOGOUT_REDIRECT'];    

après ajouter:
Code: Tout sélectionner
redirect(append_sid("../"));    


trouver:
Code: Tout sélectionner
        meta_refresh(3append_sid("{$phpbb_root_path}index.$phpEx"));
    
        
$message $message '<br /><br />' sprintf($user->lang['RETURN_INDEX'], '<a href="' append_sid("{$phpbb_root_path}index.$phpEx") . '">''</a> ');
        
trigger_error($message);    

remplacer par:
Code: Tout sélectionner
meta_refresh(3append_sid("../"));
    
        
$message $message '<br /><br />' sprintf($user->lang['RETURN_INDEX'], '<a href="' append_sid("../") . '">''</a> ');
        
trigger_error($message);    


site_common.php

trouver:
Code: Tout sélectionner
require($phpbb_root_path 'includes/session.' $phpEx);     

remplacer par:
Code: Tout sélectionner
require($phpbb_root_path 'includes/site_session.' $phpEx);   


includes/site_sessions.php

  • n/a

Mise en place des scripts:

form.php
Le fichier form.php doit être créé.
Il permet d'afficher le formulaire d'identification sur le site.


Code: Tout sélectionner
<? 
       define
('IN_PHPBB'true);
    
$phpbb_root_path './phpbb3/';
    
$phpEx substr(strrchr(__FILE__'.'), 1);
    include(
$phpbb_root_path 'site_common.php');
     
    
// Start session management
    
$user->session_begin();
    
$auth->acl($user->data);
    
$user->setup();

  if(
$user->data['is_registered'])
    {
        echo 
"<div align='center'><li><a>" $user->data['username']."</a></li><br />"
                echo 
'<a href="' append_sid("{$phpbb_root_path}site_ucp.php"'mode=logout'true$user->session_id). '">D&eacute;connexion</a></div>';
    }
    else
    {
        
$username request_var('username'''true);
        
$password request_var('password'''true);

        
$result $auth->login($username$password);

        if (
$result['status'] == LOGIN_SUCCESS)
        {
        
        }
        else
        {
            echo
'<center>
<form method="POST" action="./forum/site_ucp.php?mode=login">
<input type="text" name="username" size="15">
 <input type="password" name="password" size="15"><br />
<input type="submit" value="connexion" name="login"></p>
<input type="hidden" name="redirect" value="../">
</form><br /><a href="http://www.monsite.com/phpbb3/ucp.php?mode=register">s\'enregistrer</a></center>'
;
        }
    }
    
?>


Restreindre l'accès d'une page
Pour restreindre l'accès au contenu d'une page je vous propose le script ci dessous, je suis certain qu'il peut être optimisé, mais pour l'instant je fait simple :P

A la première ligne de votre page insérez:
Code: Tout sélectionner

<?    $user->session_begin();
    
$auth->acl($user->data);
    
$user->setup();
 include(
"forum/config.php");

if (
$user->data['is_registered'])
 { echo
' VOTRE CONTENU ICI '; }
else { echo 
'Cette page nécessite une identification de votre part.' ; } ?>



Utilisation des permissions de groupe:
Recherches et tests en cours...

Conclusions:
Si vous avez tout fait comme il faut, le système que je vous ais donné devrais vous permettre d'utiliser les sessions de votre forum.
Une chose est à noter: Je ne suis pas développeur et par conséquent, je ne peut vous garantir que ce système fonctionne chez tout le monde du premier coup.
Donc, si vous trouvez des améliorations à apporter au script, merci de me le faire savoir par MP.


Remerciements:

Je tiens à remercier:
Sadius (un ami personnel) pour sa précieuse aide lors de la recherche et des tests pour ce tuto.
L'équipe de phpbb-fr.com pour leur support fiable et efficace (même si là apparemment vous leur avez posé une colle :P )
Mon équipe pour leur patience lors des multiples maintenances liées à ce script ;)
TeamSpeak France, le forum, le blog
Dans les bacs :
[Doc] Intégrer Xiti à son forum, marqueur de contenu
A venir :
[Doc] Intégrer Xiti à son forum, marqueur d'action
[Doc] Utiliser les sessions de phpBB3 part 2
Avatar de l’utilisateur
Bloody-wave
Apprenti-posteur
Apprenti-posteur
 
Messages: 146
Enregistré le: 06 Aoû 2007 à 17:30

Re: [Doc] Utiliser les sessions de phpbb3

Messagepar Dakin Quelia » 07 Mar 2008 à 02:25

Bonsoir,

Votre sujet a été déplacé par un membre de l'équipe.
Forum d'origine [phpBB 3.0.x] Utilisation et personnalisation

Il sera mieux ici en attendant que l'équipe décide s'il est à intégrer ou non. :wink:

Je demanderai aux membres de ne pas faire de support dans ce sujet. Merci de votre compréhension. :)

Je te remercie pour la contribution. (Cela dit, ce n'était pas une colle, c'est juste qu'il faut du temps pour un tutorial) :)

A bientôt,
Aucun support par mail, MP ou msn.
Mes MODs: ici | Mon blogue: Mon blogue | DeviantArt: cliquez ici
Dakin Quelia
Floodeur universel
Floodeur universel
 
Messages: 21411
Enregistré le: 31 Oct 2006 à 19:33
Localisation: Belgique

Re: [Doc] Utiliser les sessions de phpbb3

Messagepar Bloody-wave » 07 Mar 2008 à 09:26

lol, ce n'était qu'une petite pointe d'humour, je sais bien que l'équipe phpbb-fr est incollable ;)
TeamSpeak France, le forum, le blog
Dans les bacs :
[Doc] Intégrer Xiti à son forum, marqueur de contenu
A venir :
[Doc] Intégrer Xiti à son forum, marqueur d'action
[Doc] Utiliser les sessions de phpBB3 part 2
Avatar de l’utilisateur
Bloody-wave
Apprenti-posteur
Apprenti-posteur
 
Messages: 146
Enregistré le: 06 Aoû 2007 à 17:30

Re: [Doc] Utiliser les sessions de phpbb3

Messagepar ErnadoO » 07 Mar 2008 à 09:43

Bloody-wave a écrit:L'équipe de phpbb-fr.com pour leur support fiable et efficace (même si là apparemment vous leur avez posé une colle :P )
Ce n'est pas une colle mais un manque de temps pour rédiger ce tuto :mrgreen:
Je devais m'y coller, mais plus j'avance, plus j'ai des projets de codage qui me tombe dessus :?
ErnadoO
 

Re: [Doc] Utiliser les sessions de phpbb3

Messagepar Bloody-wave » 07 Mar 2008 à 09:46

Et sinon vous en pensez quoi de ce tuto??
TeamSpeak France, le forum, le blog
Dans les bacs :
[Doc] Intégrer Xiti à son forum, marqueur de contenu
A venir :
[Doc] Intégrer Xiti à son forum, marqueur d'action
[Doc] Utiliser les sessions de phpBB3 part 2
Avatar de l’utilisateur
Bloody-wave
Apprenti-posteur
Apprenti-posteur
 
Messages: 146
Enregistré le: 06 Aoû 2007 à 17:30

Re: [Doc] Utiliser les sessions de phpbb3

Messagepar ErnadoO » 07 Mar 2008 à 10:29

La duplication des fichiers est inutile, car l'effet produit par les modifications apportées, peut être obtenu sans duplication.

Ensuite pour form.php, il peut se contenter de cela::
Code: Tout sélectionner
<? 
define
('IN_PHPBB', true);
$phpbb_root_path = './phpbb3/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include(
$phpbb_root_path . 'site_common.php');
         
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

login_box('../');

?>
Dans le cas où c'est une page, il ne sert à rien de faire afficher le lien de déconnexion, il faut palcer ce lien ailleur sur le site, disponible à tout moment, et non psa jsute parès d'être identifié. En utilisant login_box() tu as traitement bien plus propre et complet (par exemple phpBB te dis pourquoi la connexion a échouée, tu peux aussi gérer l'auto-login...).
Par contre si il est question d'un block connexion.

Pour ce code:
Code: Tout sélectionner
<?    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();
 include("forum/config.php");

if ($user->data['is_registered'])
 { echo' VOTRE CONTENU ICI '; }
else { echo 'Cette page nécessite une identification de votre part.' ; } ?>
là encore tu peux remplacer le contenu de ta boucle else par login_box() et faire ramener le membre sur cette page une fois identifié correctement.
ErnadoO
 

Re: [Doc] Utiliser les sessions de phpbb3

Messagepar Bloody-wave » 08 Mar 2008 à 05:15

ok, je vais faire les modifications dès que j'ai un peu de temps, là on cherche le moyen d'utiliser ces maudits groupes pour limiter les accès de manières plus fiable, c'est pour ça que j'ai fait le site_session.php, je pensais qu'il pouvais être utile pour gérer les différents groupes...

A voir :D en attendant si y'en a qui ont une piste a me lacher pour les sessions de groupe je suis preneur ;)

Cordialement, Bloody-wave
TeamSpeak France, le forum, le blog
Dans les bacs :
[Doc] Intégrer Xiti à son forum, marqueur de contenu
A venir :
[Doc] Intégrer Xiti à son forum, marqueur d'action
[Doc] Utiliser les sessions de phpBB3 part 2
Avatar de l’utilisateur
Bloody-wave
Apprenti-posteur
Apprenti-posteur
 
Messages: 146
Enregistré le: 06 Aoû 2007 à 17:30

Re: [Doc] Utiliser les sessions de phpbb3

Messagepar mikaweb » 16 Mar 2008 à 12:12

Sympa ce topic.
Actuellement sous IPB, je suis vraiment en train d'hésitez à faire marche arrière sur phpBB 3.
mikaweb
Posteur néophyte
Posteur néophyte
 
Messages: 15
Enregistré le: 28 Aoû 2007 à 19:40

Re: [Doc] Utiliser les sessions de phpbb3

Messagepar Bloody-wave » 16 Mar 2008 à 13:37

N'hésite plus, phpbb3 c'est de la tuerie!!

Edit:
Un piti post it serai sympa 8)
TeamSpeak France, le forum, le blog
Dans les bacs :
[Doc] Intégrer Xiti à son forum, marqueur de contenu
A venir :
[Doc] Intégrer Xiti à son forum, marqueur d'action
[Doc] Utiliser les sessions de phpBB3 part 2
Avatar de l’utilisateur
Bloody-wave
Apprenti-posteur
Apprenti-posteur
 
Messages: 146
Enregistré le: 06 Aoû 2007 à 17:30

Re: [Doc] Utiliser les sessions de phpbb3

Messagepar Cloude » 16 Mar 2008 à 17:23

Bonjour ! j'ai ceci qui s'affiche en haut de ma page form :
Code: Tout sélectionner
[phpBB Debug] PHP Notice: in file /includes/site_session.php on line 885: Cannot modify header information - headers already sent by (output started at /mnt/167/sdb/d/9/www.pokespace/form.php:1)
[phpBB Debug] PHP Notice: in file /includes/site_session.php on line 885: Cannot modify header information - headers already sent by (output started at /mnt/167/sdb/d/9/www.pokespace/form.php:1)
[phpBB Debug] PHP Notice: in file /includes/site_session.php on line 885: Cannot modify header information - headers already sent by (output started at /mnt/167/sdb/d/9/www.pokespace/form.php:1)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3369: Cannot modify header information - headers already sent by (output started at /mnt/167/sdb/d/9/www.pokespace/form.php:1)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3371: Cannot modify header information - headers already sent by (output started at /mnt/167/sdb/d/9/www.pokespace/form.php:1)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3372: Cannot modify header information - headers already sent by (output started at /mnt/167/sdb/d/9/www.pokespace/form.php:1)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3373: Cannot modify header information - headers already sent by (output started at /mnt/167/sdb/d/9/www.pokespace/form.php:1)
Avatar de l’utilisateur
Cloude
Maître-posteur
Maître-posteur
 
Messages: 498
Enregistré le: 04 Jan 2008 à 17:21

Re: [Doc] Utiliser les sessions de phpbb3

Messagepar Petit Manu » 18 Mar 2008 à 19:07

Elle est pas mal cette doc, mais le problème étant qu'on ne peut toujours pas déverrouiller la fonction POST. Ça veut dire que tous les formulaires du site (à part le forum) ne fonctionnent pas. C'est le problème si on utilise les sessions de phpBB3. Mais bon, tout problème devrait avoir sa solution. :wink:
Petit Manu
Posteur néophyte
Posteur néophyte
 
Messages: 6
Enregistré le: 24 Déc 2007 à 20:36

Re: [Doc] Utiliser les sessions de phpbb3

Messagepar Symael » 22 Mar 2008 à 13:11

Ca serait pas plus simple un script pour envoyer des infos à la bdd ? car le problème c'est qu'on ne sait pas à quoi servent tous ces champs mais vous si :)
Symael
Posteur néophyte
Posteur néophyte
 
Messages: 2
Enregistré le: 21 Mar 2008 à 23:24

Re: [Doc] Utiliser les sessions de phpbb3

Messagepar Dakin Quelia » 22 Mar 2008 à 17:57

Bonjour,

Un petit bonjour fait toujours plus plaisir que ce type de message. :)

Regarde ceci. :wink:

A bientôt,
Modifié en dernier par Steph le 12 Mar 2014 à 19:16, modifié 1 fois.
Raison: Mise du lien de documentation
Aucun support par mail, MP ou msn.
Mes MODs: ici | Mon blogue: Mon blogue | DeviantArt: cliquez ici
Dakin Quelia
Floodeur universel
Floodeur universel
 
Messages: 21411
Enregistré le: 31 Oct 2006 à 19:33
Localisation: Belgique

Re: [Doc] Utiliser les sessions de phpbb3

Messagepar Symael » 24 Mar 2008 à 13:35

Salut,

c'est gentil mais ca ne me dit pas quelles informations envoyer dans la bdd :(
Symael
Posteur néophyte
Posteur néophyte
 
Messages: 2
Enregistré le: 21 Mar 2008 à 23:24

Re: [Doc] Utiliser les sessions de phpbb3

Messagepar ErnadoO » 24 Mar 2008 à 15:33

Ben le but de cette doc c'est de lire dans la base de données, pas d'y insérer des données :wink:
ErnadoO
 

Suivante

Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

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