[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 mickaelteam » 28 Nov 2008 à 11:10

Bonjour à tous.

Comment interdire l'accès aux pages aux visiteurs, et ainsi afficher directement la page pour s'enregistrer ?

J'ai tenté ce code :

Code: Tout sélectionner
<!-- IF S_USER_LOGGED_IN -->
, mais cela ne fonctionne pas... Où alors, je ne l'ai pas mise au bon endroit.

Page que j'aimerai interdire en exemple : http://www.mtlive.eu/forum/template2.php (parmi d'autres)... Sur ces pages la, je n'ai que
Code: Tout sélectionner
<!-- INCLUDE overall_header.html --> en haut et <!-- INCLUDE overall_footer.html --> en bas.
Entre ces codes, biensur, j'ai ma page codé.

Ce lien est visible ici : http://www.mtlive.eu/forum/index.php en haut dans la bannière de raccourcis.

J'espère avoir ne solution, car j'ai essayé de mettre le code en overall_header.html avant le lien/image, ça ne fonctionne pas non plus.

Cordialement

EDIT :

J'ai trouvé la solution :

Code: Tout sélectionner
define('IN_PHPBB', true);
$phpbb_root_path = './';
$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);
$user->setup('viewforum');
if ($user->data['user_id'] == ANONYMOUS)
{
   login_box("EXEMPLE.PHP");
}
if (!$auth->acl_get('u_')) //u pour user, a pour admin
{
   trigger_error($user->lang['Vous n\'avez pas les droits d\'acces a cette fonction.']);
}


(Code valable pour certaines pages, car j'utilise un MOD page blanche pour ce code ci-dessus. iI faut rajouter des lignes pour des pages autres).

J'ai toruvé ceci sur un sujet existant. je vous prie d m'en excuser.


mickaelteam
Posteur habitué
Posteur habitué
 
Messages: 212
Inscription: 22 Sep 2007 à 15:01
Avertissements: 5

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

Messagepar spitfire pat » 28 Nov 2008 à 11:39

mickaelteam a écrit:J'ai tenté ce code :

Code: Tout sélectionner
<!-- IF S_USER_LOGGED_IN -->
, mais cela ne fonctionne pas... Où alors, je ne l'ai pas mise au bon endroit.

ce code n'est actif que si la fonction page_header a été lancée

cela dit, si tu veux que les utilisateurs non enregsitrés soient invités à se conencter, alors le mieux est de mettre dans ton php
Code: Tout sélectionner
if ($user->data['user_id'] == ANONYMOUS)
{
    login_box('', 'Vous devez être connecté pour accéder à cette page');
}

l'idéal serait bien sûr d eremplacer le texte par une clé de langue
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15313
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

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

Messagepar mickaelteam » 29 Nov 2008 à 09:02

spitfire pat a écrit:cela dit, si tu veux que les utilisateurs non enregsitrés soient invités à se conencter, alors le mieux est de mettre dans ton php
Code: Tout sélectionner
if ($user->data['user_id'] == ANONYMOUS)
{
    login_box('', 'Vous devez être connecté pour accéder à cette page');
}

l'idéal serait bien sûr d eremplacer le texte par une clé de langue


Bonjour Spitfire pat.

Si je comprend bien, le code que j'ai mis n'est pas conseillé ?
Qu'est qu'une "clef de langue ?" svp ?

Cordialement
Dernière édition par mickaelteam le 30 Nov 2008 à 09:53, édité 1 fois.
mickaelteam
Posteur habitué
Posteur habitué
 
Messages: 212
Inscription: 22 Sep 2007 à 15:01
Avertissements: 5

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

Messagepar spitfire pat » 29 Nov 2008 à 18:38

une clé de langue ? eh bien c'est une portion de texte dépendant du language et correspondant à un code particulier
par exemple, tu vas mettre dans language/fr/common.php
Code: Tout sélectionner
'MUST_CONNECT' => 'Vous devez être connecté pour accéder à cette page',


alors notre code devient
Code: Tout sélectionner
if ($user->data['user_id'] == ANONYMOUS)
{
    login_box('', $user->lang['MUST_CONNECT']);
}

en cas de forum multilingue, la clé 'MUST_CONNECT' aura été placée dans chaque langue, ce qui permettra à chaque utilisateur de lire le message dasn sa langue, alors que, dans l'exemple précédent, il l'aurait lu en français, quelque soit sa langue
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15313
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

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

Messagepar Zarrock44 » 29 Nov 2008 à 21:03

Bonjour petit probleme :

Code: Tout sélectionner
Warning: Cannot modify header information - headers already sent by (output started at /mnt/102/sda/0/2/warrockcheat/index.php:2) in /mnt/102/sda/0/2/warrockcheat/phpBB3/common.php on line 161


Code: Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<?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();
?>
<html>
<head>
  <title>Accueil</title>
   
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    <style type="text/css">
Zarrock44
Posteur néophyte
Posteur néophyte
 
Messages: 4
Inscription: 29 Nov 2008 à 20:49

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

Messagepar spitfire pat » 29 Nov 2008 à 22:49

Zarrock44 a écrit:
Code: Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

c'est pourtant bien marqué dans le tuto: pas de texte avant $user->session_begin();
et pas de texte ça veut dire, rien que du php (donc pas de html et rien avant <?php) , pas d'instruction echo ou print
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15313
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

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

Messagepar Zarrock44 » 29 Nov 2008 à 23:16

Mais quand je lenleve sa m'envois faire http://monsite.free.fr/install/index.php qui n'existe pas
Zarrock44
Posteur néophyte
Posteur néophyte
 
Messages: 4
Inscription: 29 Nov 2008 à 20:49

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

Messagepar spitfire pat » 30 Nov 2008 à 09:51

je t'ai pas dit de l'enlever non plus
met-le avant <html>
mais je doute que l'absence d'un <!doctype te généère ce type d'erreur, tu dois avoir une erreur ailleurs
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15313
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

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

Messagepar mickaelteam » 30 Nov 2008 à 09:52

spitfire pat a écrit:une clé de langue ? eh bien c'est une portion de texte dépendant du language et correspondant à un code particulier
par exemple, tu vas mettre dans language/fr/common.php
Code: Tout sélectionner
'MUST_CONNECT' => 'Vous devez être connecté pour accéder à cette page',


alors notre code devient
Code: Tout sélectionner
if ($user->data['user_id'] == ANONYMOUS)
{
    login_box('', $user->lang['MUST_CONNECT']);
}

en cas de forum multilingue, la clé 'MUST_CONNECT' aura été placée dans chaque langue, ce qui permettra à chaque utilisateur de lire le message dasn sa langue, alors que, dans l'exemple précédent, il l'aurait lu en français, quelque soit sa langue


Ah d'accord, je comprend beaucoup mieux.

Ben je vous remercie énormément de votre aide et votre sympathie dans vos explications.

cependant, j'aimerai savoir, si le code que j'ai fourni est OK ou si je dois le remplacer par le votre.
Suffit de regarder ce lien pour donner votre avis ou regarder le code que j'ai fourni bien au dessus :

http://www.mtlive.eu/forum/template2.php

Bonne continuation.

M.ickael
mickaelteam
Posteur habitué
Posteur habitué
 
Messages: 212
Inscription: 22 Sep 2007 à 15:01
Avertissements: 5

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

Messagepar Zarrock44 » 30 Nov 2008 à 10:53

Ok je vais réasayer.

Donc j'ai quoi comme page a la fin du tuto normalement si je pren la version templaté.
Zarrock44
Posteur néophyte
Posteur néophyte
 
Messages: 4
Inscription: 29 Nov 2008 à 20:49

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

Messagepar spitfire pat » 30 Nov 2008 à 11:39

Zarrock44 a écrit:Ok je vais réasayer.

Donc j'ai quoi comme page a la fin du tuto normalement si je pren la version templaté.

étant donné que je ne sais pas ce que tu es en train de faire, je serais bien en peine de te répondre 8)
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15313
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

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

Messagepar Zarrock44 » 30 Nov 2008 à 12:04

La version de base
Zarrock44
Posteur néophyte
Posteur néophyte
 
Messages: 4
Inscription: 29 Nov 2008 à 20:49

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

Messagepar spitfire pat » 30 Nov 2008 à 12:52

Zarrock44
il y a sur le tuto des scripts relatifs au formulaire de connexion, à une page de news, etc ....
comment veux-tu que je devine lequel tu es en train de tester
et comment veux-tu que je devine où est ton problème
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15313
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

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

Messagepar Casio » 03 Déc 2008 à 14:23

Salutations,

spitfire pat a écrit:là tu vas jeter un oeil dans le support du tuto sur les sessions phpbb => coding-webmastering-securite/sujet155043-15.html et , plus particulièrement à partir d'ici => coding-webmastering-securite/sujet155043-15.html#p1189708
(...)
tsk, tsk, merci de poursuivre sur le topic en question, ça évitera les dispersions de posts


Ce qui me donne :
Code: Tout sélectionner
<!-- Partie incluee par le fichier news.php !-->

<table width="600" border="0" bgcolor="#FFFFFF" STYLE="background-image: url(pict/Cadre1-fond.gif); background-repeat: no-repeat; background-position: center">
<tr>
    <td align="left">

   <?php
    $auth->acl($user->data);
    $user->setup();
    $forum_id = request_var('forum_id', 0);
    $where = ($forum_id) ? "WHERE forum_id=$forum_id" : '';
    $sql = 'SELECT forum_id, topic_id, topic_time, topic_title, topic_views, topic_replies, topic_poster, topic_first_poster_name, topic_first_poster_colour, topic_last_post_id, topic_last_poster_id, topic_last_poster_name, topic_last_poster_colour, topic_last_post_time FROM ' . TOPICS_TABLE . $where . ' ORDER BY topic_time DESC ' . ' LIMIT 0 , 5 ';
    $result = $db->sql_query($sql);
   
    echo '<table width="100%" class="newsforum">';
   
    echo '<tr>';
    echo '<th align="left">Sujets</th>';
    echo '<th align="center">Réponses</th>';
    echo '<th align="center">Vus</th>';
    echo '<th align="right">Dernier message</th>';
    echo '</tr>';
   
    $i=0;
    while($row = $db->sql_fetchrow($result))
    {
        $row['topic_title'] = utf8_decode($row['topic_title']);
        $row['topic_first_poster_name'] = utf8_decode($row['topic_first_poster_name']);
        $row['topic_last_poster_name'] = utf8_decode($row['topic_last_poster_name']);
        $topic_id = $row['topic_id'];
        $view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($row['forum_id']) ? $row['forum_id'] : $forum_id) . '&amp;t=' . $topic_id);
        //$row_colour = ($i % 2) ? '#FFFFCC' : '#99FFFF';
        //echo '<tr bgcolor="' . $row_colour .'">';
        echo '<tr>';
        echo '<td align="left">';
        echo '<a href="' . $view_topic_url . '">' . censor_text($row['topic_title']) . '</a><br />';
        echo $user->lang['POST_BY_AUTHOR'] . '&nbsp;' . get_username_string('full', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']);
        echo '&nbsp;' . $user->lang['POSTED_ON_DATE'] . '&nbsp;' . $user->format_date($row['topic_time']) . '</td>';
        echo '<td align="center">' . $row['topic_replies'] . '</td>';
        echo '<td align="center">' . $row['topic_views'] . '</td>';
        echo '<td align="left">' . $user->lang['POST_BY_AUTHOR'] . '&nbsp;' . get_username_string('full', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']);
        echo '&nbsp;<a href="' . $view_topic_url . '&amp;p=' . $row['topic_last_post_id'] . '#p' . $row['topic_last_post_id'] . '"><img src="' . $phpbb_root_path . 'styles/' . $user->theme['imageset_path'] . '/imageset/icon_topic_latest.gif" border="0" alt="' . $user->lang['VIEW_LATEST_POST'] . '" title="' . $user->lang['VIEW_LATEST_POST'] . '" />' . '</a><br />';
        echo $user->lang['POSTED_ON_DATE'] . '&nbsp;' . $user->format_date($row['topic_last_post_time']) . '</td>';
        echo '</tr>';
        $i++;
    }
   
    echo '</table>';
    ?>

   </td>
</tr>
</table>

<!-- Fin de partie incluee par le fichier news.php !-->

C'est géant et rend très proprement... Seulement, je m'interroge :
Ce moyen affiche les derniers sujets, et non les derniers posts...
Comme puis-je le modifier en fonction ?

Merci de votre aide... :)
Image
Avatar de l’utilisateur
Casio
Posteur expérimenté
Posteur expérimenté
 
Messages: 369
Inscription: 02 Jan 2004 à 19:09
Localisation: Paris XVII / FRANCE

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

Messagepar spitfire pat » 03 Déc 2008 à 14:36

Casio a écrit:Ce moyen affiche les derniers sujets, et non les derniers posts...
Comme puis-je le modifier en fonction ?
je t'ai indiqué à partir de quel message de ce topic on parlait de l'affichage du contenu des posts
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15313
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: Google [Bot] et 6 invités

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