Link unsichtbar machen in PHPBB

vsitor

Erfahrenes Mitglied
Hallo,

ich habe in PHPBB einen Link in der Navigation hinzugefügt,
welcher zu einer HTML-Seite verweist.

Das Problem ist jetzt, das ich nicht will das jeder auf den Link klicken kann, sondern das nur User die ich freigeschaltet habe (über Admin) den Link überhaupt sehen.
User die nicht freigeschaltet worden sind, sollen die Seite
(und auch den Link in der Navigation) nicht zu Gesicht bekommen.

Wer von euch hat eine Idee wie ich das am besten bewerkstelligen kann ?

Danke
 
hää,
musst doch nur eine abfrage machen was du für den user hinterlegt hast in der Datenbank, sprich ob er zugriff hat, und dann kannst du ja z.B. ne
PHP:
if($zugriff==true){
echo($link);
}

das ist dann wohl das einfachste wenn ich das hier alles richtig verstanden habe?

und wenn du es dann noch etwas sicherer machen willst würde ich das bei der seite die Aufgerufen wird auch noch mal abfragen.

CU
 
:-)

Hallo,

ja das Prinzip hab ich auch schon durchdacht.

Aber das ganze muss ja auch administriert werden und das ist wohl doch nicht so einfach.

Die user müssen wenn Sie sich neu registrieren den Wert False automatisch in die dafür vorgesehene Tabelle bekommen, und nur durch freischalten den Wert true bekommen.

Ist wohl doch nicht ganz so einfach, schliesslich muss im admin-Menü ein neuer Menüpunkt rein inkl.Formular für die Datenbank.
Ausserdem muss eine neue Tabelle angelegt werden in der User Tabelle.

Wer hat noch ein Tipp?
 
Du kannst deiner Answers-Tabelle eine neue Spalte namens allowedUsers oder so hinzufügen. Später können bei Bedarf für die jeweilige Antwort die Usernamen in die Spalte eingetragen werden, getrennt durch ein Trennungszeichen.
Beispiel:
PHP:
<?php
    $result = mysql_query("SELECT allowedUsers FROM BoardAnswers WHERE ID = '".$postID."'") OR die(mysql_error());
    $row = mysql_fetch_assoc($result);
    $allowed = explode("|", $row['allowedUsers']); //im Beispiel ist | das Trennungszeichen
    if(in_array($_SESSION['Username'], $allowed)) {
        echo "link";
    }
    else {
        echo "alternativer Text etc.";
    }
?>
 
du mußt doch nur abfragen, ob derjenige eine UserID hat, also if userid e.t.c.

und wenn es noch nach der Freischaltung machen willst, nutz doch die Eintragung, die der Admin beim freischalten macht. Irgendwo muß ja was in der DB geändert werden nach einer Freischaltung und eine extra Spalte dafür anlegen wäre quatsch.
 
Zuletzt bearbeitet:
:-)

neee, die haben ja auf jeden Fall eine User ID
sonst könnten die sich ja nicht einloggen.

Ich muss also eine zusatzspalte bei den Usern anlegen.
Das Problem ist weniger einen Wert aus dem Admin-Menü an eine Spalte der SQL zu übergeben, schwieriger ist es, den Link unsichtbar zu machen wenn der Wert "false" ist.
 
Wenn du im Adminmenu einen User freischaltest, wird doch irgendwo in der SQL bei dem User ein Tru gesetzt. Jetzt fragst du nur die SQL ab ob Tru, dann --> Link
 
:-)

Ja das stimmt.
Aber nur weil sich jemand registriert soll dennoch nicht den Link sehen können.

Der Link der sichtbar werden soll, muss extra freigeschaltet werden.
Ich denke das schwierigste ist wie gesagt das unsichtbar machen.

Absolut keine Ahnung wie ich das machen soll, obwohl ich die Theorie schon im Kopf hab.

Ein extra-table, nennen wir sie AKTIV, die standartmässig auf false ist wenn sich jemand neu registriert.
Wenn im Admin menü der User gewählt wird, wird an die User-ID in der AKTIV table der wert auf true gesetzt.
 
Zurück