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(3, append_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(3, append_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é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
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
Mon équipe pour leur patience lors des multiples maintenances liées à ce script










