Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
j'ai créé une page PHP reprenant la structure du forum.
Je souhaiterais la restreindre a certains membres sur quelques critères tels que :
- ceux inscrits depuis moins de X jours
- ceux ayant moins de X messages
------>
J'utilise deja la page pour restreindre les groupes, voila le code
if ($pun_user['g_id'] != '1' AND $pun_user['g_id'] != '2' AND $pun_user['g_id'] != '4' AND $pun_user['g_id'] != '5' AND $pun_user['g_id'] != '8' AND $pun_user['g_id'] != '9' AND $pun_user['g_id'] != '10' AND $pun_user['g_id'] != '11')Donc tous les groupes specifié dedans ont acces.
<-------
Je me demandais si je ne pourrais pas restreindre egalement via le "Rangs utilisateurs" disponible dans le panel, vous savez la fonction qui fait que dès que vous atteingnez x message, vous obtenez un autre Statut...
Je m'en remets a vous pour m'eclairer/m'aider 
Hors ligne
Ben, il suffit de rajouter le "rang utilisateur" dans la requête (puis de faire un test dessus).
Réponse basique.
Le test sur 'g_id' est trompeur : en effet, ces infos sont disponibles hors de toute requête spécifique. Donc il faudrait que tu nous montres si tu fais des requêtes sur la base du forum dans ta "page PHP"...
Si non, il va falloir en faire une...
Hors ligne
j'utilise cette fonction
<?php
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
if ($pun_user['g_id'] != '1' AND $pun_user['g_id'] != '2' AND $pun_user['g_id'] != '4' AND $pun_user['g_id'] != '5' AND $pun_user['g_id'] != '8' AND $pun_user['g_id'] != '9' AND $pun_user['g_id'] != '10' AND $pun_user['g_id'] != '11')
{
message('Vous devez être connecté pour voir cette page. <a href="login.php">Se connecter</a>.');
//header('Location: index.php');
exit;
}
?>Je viens de voir, pour les RANGS, c'est la table pun_ranks
donc quelle est la syntaxe a utiliser ?
if ($pun_user['g_id'] != '1' AND $pun_user['g_id'] != '2' AND $pun_user['g_id'] != '4' AND $pun_user['g_id'] != '5' AND $pun_user['g_id'] != '8' AND $pun_user['g_id'] != '9' AND $pun_user['g_id'] != '10' AND $pun_user['g_id'] != '11')
else ($pun_ranks['id'] != '1' AND $pun_ranks['id'] !='2')est ce correct ? pouvez vous me corriger svp 
Hors ligne
Il faut utiliser la fonction function get_title($user) pour avoir le rang d'un membre, elle te retourne le rang du membre en fonction de son groupe, son nombre de message et de l'utilisation ou non d'un titre (donc si tu as donné un titre dans le profil de quelqu'un c'est qui prévaut)
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
oui j'imagine que ca doit etre super... helas heu... j'y connais rien en PHP (je sais ... c'est idiot)
Donc je prefere prendre ce que j'ai deja (d'ailleurs c'est vous qui m'avez aidé pour cela) et adapter 
Hors ligne
re,
est ce que ce code est correcte ?
if ($pun_user['g_id'] != '1' AND $pun_user['g_id'] != '2' AND $pun_user['g_id'] != '4' AND $pun_user['g_id'] != '5' AND $pun_user['g_id'] != '8' AND $pun_user['g_id'] != '9' AND $pun_user['g_id'] != '10' AND $pun_user['g_id'] != '11')
else ($pun_ranks['id'] != '1' AND $pun_ranks['id'] !='2')Hors ligne
re,
est ce que ce code est correcte ?
if ($pun_user['g_id'] != '1' AND $pun_user['g_id'] != '2' AND $pun_user['g_id'] != '4' AND $pun_user['g_id'] != '5' AND $pun_user['g_id'] != '8' AND $pun_user['g_id'] != '9' AND $pun_user['g_id'] != '10' AND $pun_user['g_id'] != '11') else ($pun_ranks['id'] != '1' AND $pun_ranks['id'] !='2')
se serait pas plus simple de mettre un if ($pun_user['g_id'] = '3') ??
ensuite le else c'est pour dire "sinon" donc pas de vérification sur variable, il faut le remplacer par "sinon si" => elseif
enfin peut-être que je me goure mais je pense pas 
Hors ligne
ou alors simplement mettre un AND ?
if ($pun_user['g_id'] != '1' AND $pun_user['g_id'] != '2' AND $pun_user['g_id'] != '4' AND $pun_user['g_id'] != '5' AND $pun_user['g_id'] != '8' AND $pun_user['g_id'] != '9' AND $pun_user['g_id'] != '10' AND $pun_user['g_id'] != '11') AND ($pun_ranks['id'] != '1' AND $pun_ranks['id'] !='2')Hors ligne
Elle existe cette variable $pun_ranks ? 
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
non... j'avais mal vu, la table pun_ranks n'est rapporté a aucun ID
du coup ca marchera pas
Hors ligne
Pourquoi tu n'utilises pas la fonction get_title comme indiqué plus haut ? Il te suffit de faire
get_title($pun_user)le rang de l'utilisateur.
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
oui ok 
mais comment je place cela ?
if ($pun_user['g_id'] != '1' AND $pun_user['g_id'] != '2' AND $pun_user['g_id'] != '4' AND $pun_user['g_id'] != '5' AND $pun_user['g_id'] != '8' AND $pun_user['g_id'] != '9' AND $pun_user['g_id'] != '10' AND $pun_user['g_id'] != '11' AND get_title($pun_user) != '2')a supposer que l'id 2 corresponde a celui que je ne veux pas faire acceder ? 
Hors ligne
La fonction te retourne la valeur du titre, une chaîne de caractère, tu dois donc écrire en toute lettre le texte à tester.
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
a ok
c'est si simple quand tu explique 
Merci c'est ok!
Hors ligne
Pages : 1