[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 ce forum.

Modérateur: Equipe

[Doc] Utiliser les sessions de phpbb3

Messagede Bloody-wave le 07 Mar 2008 à 01: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 recrute dans divers domaines, pour plus d'infos cliquez sur la ban
Image
Avatar de l’utilisateur
Bloody-wave
Apprenti-posteur
Apprenti-posteur
 
Messages: 121
Inscription: 06 Aoû 2007 à 16:30

Re: [Doc] Utiliser les sessions de phpbb3

Messagede Dakin Quelia le 07 Mar 2008 à 01:25

Bonsoir,

Votre sujet a été déplacé par un modérateur.
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,
Image Pas de support par MP, mail ou MSN.
Recrute des codeurs pour un projet php: voir ce sujet
Mon blogue | Mon forum | Free-H | Phpbb-Services
Image
Avatar de l’utilisateur
Dakin Quelia
Floodeur universel
Floodeur universel
 
Messages: 9759
Inscription: 31 Oct 2006 à 18:33
Localisation: Belgique

Re: [Doc] Utiliser les sessions de phpbb3

Messagede Bloody-wave le 07 Mar 2008 à 08:26

lol, ce n'était qu'une petite pointe d'humour, je sais bien que l'équipe phpbb-fr est incollable ;)
TeamSpeak France recrute dans divers domaines, pour plus d'infos cliquez sur la ban
Image
Avatar de l’utilisateur
Bloody-wave
Apprenti-posteur
Apprenti-posteur
 
Messages: 121
Inscription: 06 Aoû 2007 à 16:30

Re: [Doc] Utiliser les sessions de phpbb3

Messagede ErnadoO le 07 Mar 2008 à 08: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 · Administrateur et responsable de l'équipe des MODs par intérim
Tu as l'âme d'un codeur? l'équipe des MODs recrute toute l'année!
Tout sur l'installation d'un MOD || Intro à la création de MOD || Erreurs fréquentes lors de l'installation de MODs || Mes MODS

phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB en toute tranquillité.
Dead zone: LA référence francophone sur la série télé Dead zone: photos, résumés, captures, videos, forum.
Aidez la SPA à nourrir un animal abandonné: http://www.clicanimaux.com/
Avatar de l’utilisateur
ErnadoO
Administrateur et resp. des codeurs
Administrateur et resp. des codeurs
 
Messages: 20195
Inscription: 21 Juin 2003 à 12:42
Localisation: Brest/Quimper/Calais

Re: [Doc] Utiliser les sessions de phpbb3

Messagede Bloody-wave le 07 Mar 2008 à 08:46

Et sinon vous en pensez quoi de ce tuto??
TeamSpeak France recrute dans divers domaines, pour plus d'infos cliquez sur la ban
Image
Avatar de l’utilisateur
Bloody-wave
Apprenti-posteur
Apprenti-posteur
 
Messages: 121
Inscription: 06 Aoû 2007 à 16:30

Re: [Doc] Utiliser les sessions de phpbb3

Messagede ErnadoO le 07 Mar 2008 à 09: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 · Administrateur et responsable de l'équipe des MODs par intérim
Tu as l'âme d'un codeur? l'équipe des MODs recrute toute l'année!
Tout sur l'installation d'un MOD || Intro à la création de MOD || Erreurs fréquentes lors de l'installation de MODs || Mes MODS

phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB en toute tranquillité.
Dead zone: LA référence francophone sur la série télé Dead zone: photos, résumés, captures, videos, forum.
Aidez la SPA à nourrir un animal abandonné: http://www.clicanimaux.com/
Avatar de l’utilisateur
ErnadoO
Administrateur et resp. des codeurs
Administrateur et resp. des codeurs
 
Messages: 20195
Inscription: 21 Juin 2003 à 12:42
Localisation: Brest/Quimper/Calais

Re: [Doc] Utiliser les sessions de phpbb3

Messagede Bloody-wave le 08 Mar 2008 à 04: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 recrute dans divers domaines, pour plus d'infos cliquez sur la ban
Image
Avatar de l’utilisateur
Bloody-wave
Apprenti-posteur
Apprenti-posteur
 
Messages: 121
Inscription: 06 Aoû 2007 à 16:30

Re: [Doc] Utiliser les sessions de phpbb3

Messagede mikaweb le 16 Mar 2008 à 11: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
Inscription: 28 Aoû 2007 à 18:40

Re: [Doc] Utiliser les sessions de phpbb3

Messagede Bloody-wave le 16 Mar 2008 à 12:37

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

Edit:
Un piti post it serai sympa 8)
TeamSpeak France recrute dans divers domaines, pour plus d'infos cliquez sur la ban
Image
Avatar de l’utilisateur
Bloody-wave
Apprenti-posteur
Apprenti-posteur
 
Messages: 121
Inscription: 06 Aoû 2007 à 16:30

Re: [Doc] Utiliser les sessions de phpbb3

Messagede Cloude le 16 Mar 2008 à 16: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)
Gros noob avec Phpbb
Cloude
Posteur expérimenté
Posteur expérimenté
 
Messages: 379
Inscription: 04 Jan 2008 à 16:21
Avertissements: 1

Re: [Doc] Utiliser les sessions de phpbb3

Messagede Petit Manu le 18 Mar 2008 à 18: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
Inscription: 24 Déc 2007 à 19:36

Re: [Doc] Utiliser les sessions de phpbb3

Messagede Symael le 22 Mar 2008 à 12: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
Inscription: 21 Mar 2008 à 22:24

Re: [Doc] Utiliser les sessions de phpbb3

Messagede Dakin Quelia le 22 Mar 2008 à 16:57

Bonjour,

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

Regarde ceci. :wink:

A bientôt,
Image Pas de support par MP, mail ou MSN.
Recrute des codeurs pour un projet php: voir ce sujet
Mon blogue | Mon forum | Free-H | Phpbb-Services
Image
Avatar de l’utilisateur
Dakin Quelia
Floodeur universel
Floodeur universel
 
Messages: 9759
Inscription: 31 Oct 2006 à 18:33
Localisation: Belgique

Re: [Doc] Utiliser les sessions de phpbb3

Messagede Symael le 24 Mar 2008 à 12: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
Inscription: 21 Mar 2008 à 22:24

Re: [Doc] Utiliser les sessions de phpbb3

Messagede ErnadoO le 24 Mar 2008 à 14: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 · Administrateur et responsable de l'équipe des MODs par intérim
Tu as l'âme d'un codeur? l'équipe des MODs recrute toute l'année!
Tout sur l'installation d'un MOD || Intro à la création de MOD || Erreurs fréquentes lors de l'installation de MODs || Mes MODS

phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB en toute tranquillité.
Dead zone: LA référence francophone sur la série télé Dead zone: photos, résumés, captures, videos, forum.
Aidez la SPA à nourrir un animal abandonné: http://www.clicanimaux.com/
Avatar de l’utilisateur
ErnadoO
Administrateur et resp. des codeurs
Administrateur et resp. des codeurs
 
Messages: 20195
Inscription: 21 Juin 2003 à 12:42
Localisation: Brest/Quimper/Calais

Suivante

Retourner vers Coding, Webmastering et Sécurité informatique

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

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