Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Après avoir chercher sur différent forum, je n'ai pas trouvé le moyen d'utiliser les droits du forum sur une page annexe.
Mon objectif est d'afficher des éléments différents selon le statut du visiteur:
Bannis / Invité / Membre / Admin
J'ai tenté le code suivant, mais je n'arrivepas à trouver la variable du groupe_id:
<?
define('PUN_ROOT', './');
define('PUN_QUIET_VISIT', 1);
require PUN_ROOT.'include/common.php';
$page_title = pun_htmlspecialchars($pun_config['o_board_title']) . ' / Page Annexe';
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';
require PUN_ROOT.'include/parser.php';
if($pun_user['g_id'] == 3)
{
//Dans le cas ou le visiteur est un invité
?>
<div class="block">
<h2><span>Box 1</span></h2>
<div class="box">
<div class="inbox">
<p>
Vous êts un <?php echo pun_htmlspecialchars($pun_user['username']); ?>, merci de vous identifier pour voir cette page
</p>
</div>
</div>
</div>
?>
}
elseif($pun_user['g_id'] == 4)||($pun_user['g_id'] == 1))||($pun_user['g_id'] == 2))
{
//Dans le cas ou le visiteur est un membre ou un admin ou un modérateur
?>
<div class="block">
<h2><span>Box 1</span></h2>
<div class="box">
<div class="inbox">
<p>
Bonjour <?php echo pun_htmlspecialchars($pun_user['username']); ?>, tu peux voir cette page reservée au membre, moderateur et admin
</p>
</div>
</div>
</div>
?>
}
else
{
// impossible de trouver le groupe ou tentative d'ouverture à la page
?>
<p> Impossible de vous identifier, veuillez vous rendre à la page d'accueil et vous inscrire ou vous identifier pour pouvoir accéder à cette page</p>
<?
}
?>Merci d'avance pour votre aide et désolé si la réponse se trouve déja au sein de votre forum.
Hors ligne
Bonjour,
Pour avoir le libellé du groupe, tu as essayé $pun_user['g_title'] ?
Si ce n'est pas ce que tu cherches, peux-tu préciser ta demande ? Tu fais bien un test sur le groupe de la personne qui visite la page dans le code que tu nous donnes donc je ne vois pas trop ce qui ne va pas.
Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
Il te suffit de créer des forums qui se ressemblent mais qui sont visibles par tel ou tel groupe
Hors ligne
Je ne vois pas le rapport avec sa demande, il veut utiliser le groupe sur une page annexe, il lui suffit d'utiliser la variable
$pun_user['g_id']Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
Merci pour vos réponses.
Je vais tenter de mieux expliquer ce que je souhaites faire:
Je tentes de faire mon site autour de FLUXBB en utilisant notamment les droits suivant si l'internaute et un visiteur ou si il est un membre.
Pour exemple, je veux utiliser mon code pour integrer un galerie photo ou seul les membres pourront accéder.
J'ai testé mon code et j'ai trouvé mon erreur au niveau de la synthaxe du code PHP, je le colle ci-dessous afin qu'il puisse aider de prochain utilisateur de FluxBB.
Pensez-vous que ce code est bien pensé et qu'il est sécurisé ?
//Set the page title here
$page_title = pun_htmlspecialchars($pun_config['o_board_title']) . ' / New page 1';
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';
require PUN_ROOT.'include/parser.php';
?>
<?
if($pun_user['g_id'] == 3)
{
//Dans le cas ou le visiteur est un invité
?>
<div class="block">
<h2><span>Box 1</span></h2>
<div class="box">
<div class="inbox">
<p>
Vous etes un <? echo $pun_user['g_id']; ?>, merci de vous identifier pour voir cette page
</p>
</div>
</div>
</div>
<?
}
elseif($pun_user['g_id'] == 4 || $pun_user['g_id'] == 1 || $pun_user['g_id'] == 2)
{
//Dans le cas ou le visiteur est un membre ou un admin ou un modérateur
?>
<div class="block">
<h2><span>Box 1</span></h2>
<div class="box">
<div class="inbox">
<p>
Bonjour <? echo $pun_user['g_id']; ?>, tu peux voir cette page reservée au membre, moderateur et admin
</p>
</div>
</div>
</div>
<?
}
else
{
// impossible de trouver le groupe ou tentative d'ouverture à la page
?>
<div class="block">
<h2><span>Box 1</span></h2>
<div class="box">
<div class="inbox">
<p>
Merci de vous rendre sur la page d'accueil afin de vous identifier pour pouvoir visualiser cette page
</p>
</div>
</div>
</div>
<?
}
?>
<?php
require PUN_ROOT.'footer.php';merci encore pour votre aide
Hors ligne
Je pense que cette partie de l'aide correspond à ce que tu veux faire : http://www.punbb.fr/aide/doku.php/integration_site (mais tu en viens peut-être).
Pour la partie suivante, ça ne sert à rien de mettre du code dans la phrase : le visiteur est un invité donc il suffit d'écrire "invité" en dur dans le code (et ton code affichera "1" et non pas "Invité", voir mon premier message dans cette discussion pour afficher le libellé du groupe)
if($pun_user['g_id'] == 3)
{
//Dans le cas ou le visiteur est un invité
?>
<div class="block">
<h2><span>Box 1</span></h2>
<div class="box">
<div class="inbox">
<p>
Vous etes un <? echo $pun_user['g_id']; ?>, merci de vous identifier pour voir cette page
</p>
</div>
</div>
</div>
<?
}La troisième condition (le dernier else) n'est juste que si tu n'utilises que les groupes par défaut. Si tu as créé d'autres groupes tu peux avoir des membres avec un g_id supérieur à 4.
else
{
// impossible de trouver le groupe ou tentative d'ouverture à laLe mieux est d'utiliser le test suivant pour tester s'il s'agit d'un invité ou d'un membre (modo, admin ou simple membre) :
if ($pun_user['is_guest'])Les détails sont dans le lien donné juste avant.
Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
Bonsoir,
Merci beaucoups Fanf73, ta réponse est parfaite, voici le code que je retiens pour des pages annexes :
<?php
define('PUN_ROOT', './');
define('PUN_QUIET_VISIT', 1);
require PUN_ROOT.'include/common.php';
//Set the page title here
$page_title = pun_htmlspecialchars($pun_config['o_board_title']) . ' / New page 1';
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';
require PUN_ROOT.'include/parser.php';
?>
<?
if ($pun_user['is_guest'])
{
//Dans le cas ou le visiteur est un invité
?>
<div class="block">
<h2><span>Espace reservé aux membres</span></h2>
<div class="box">
<div class="inbox">
<p>
Vous n'êtes pas identifié, cette espace est reservé aux membres:
</p>
<form action="<? echo $PUN_ROOT ?>login.php?action=in" method="post">
<fieldset>
<input type="hidden" name="form_sent" value="1" />
<input type="hidden" name="redirect_url" value="<?php echo $_SERVER['REQUEST_URI'] ?>" />
<p><label>Nom d'utilisateur<input type="text" name="req_username" size="13" maxlength="25" /></label></p>
<p><label><strong>Mot de passe</strong><input type="password" name="req_password" size="13" maxlength="16" /></label></p>
<input type="submit" name="login" value="Connexion" />
</fieldset>
</form>
</div>
</div>
</div>
<?
}
else
{
//Dans le cas ou le visiteur n'est pas un Invité (donc un membre ou un admin ou un modérateur)
?>
<div class="block">
<h2><span>Espace privé</span></h2>
<div class="box">
<div class="inbox">
<p>
Afficher Espace Reservé aux membres
</p>
</div>
</div>
</div>
<?
}
?>Par contre cela ne convient pas pour mon projet d'intégration. J'ai choisi la galerie PIWIGO (Site Web).
Est il possible d'avoir le même résultat sans inclure common.php ?
Je souhaiterai avoir juste un fichier à inclure qui me permette uniquement de savoir si l'internaute et membre ou pas.
En effet la solution précédente rentre en conflit avec les include de la galerie, beaucoups de fonctions entrent en conflits.
Merci d'avance pour votre aide.
Dernière modification par Al3x (12-08-2009 19:53:21)
Hors ligne
topic un peu vieux je sais, mais sa aidera peut-être quelqu'un d'autre
ben il faudra forcement inclure le fichier common.php, et personnellement, j'utilise la variable g_read_board, qui marche avec un groupe, par exemple pour le groupe membre, g_read_board = 1
c'est à dire qu'il peut voir les forums, pour le groupe invité, g_read_board = 0, cad qu'il ne peut rien voir, donc pour mon script (un hosteur d'image) j'utilise ce code :
<?php
define('PUN_ROOT', './');
define('PUN_QUIET_VISIT', 1);
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'include/common.php';
if ($pun_user['g_read_board'] == '0')
echo 'permission non accordée, aller vous identifier <a href="index.php">ICI</a>
else
}?>
ma page que seul un membre identifié peut voir
<?php } ?>Hors ligne
Pages : 1