Seite 1 von 1

Fragen zum Tutorial: phpBB-Login auf meiner Homepage verwend

Verfasst: 21.10.2005 02:34
von Ken-chan
Ich habe folgendes Problem, ich möchte ein paar spezielle Seiten meiner Homepage nur für bestimmte User-Gruppen zugänglich machen.

Dazu habe ich im Ordner HTML eine seite namens testenneu.php erstellt mit folgendem Inhalt:

Code: Alles auswählen

<?php 
//Benötigte Dateien und Variablen von phpBB 
define('IN_PHPBB', true); 
$phpbb_root_path = '../forum/'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 


//Session auslesen und Benutzer-Informationen laden 
$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 




// User die zugriff haben: es sind gruppen_ids, gruppennamen und user_ids  erlaubt wobei bei den gruppen namen und ids ein g am anfang angehängt werden muss. 
$allowed_u = array(); 
$allowed_u[] = 'g36'; //gruppe 
$allowed_u[] = 'g37'; //gruppe 

$access_allowed = false; 
if( in_array($userdata['user_id'],$allowed_u)) 
{ 
        $access_allowed = true; 
} 

else 
{ 
        $sql = "SELECT g.group_id, g.group_name 
                FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g 
                WHERE ug.user_id = '" . $userdata['user_id'] . "' 
                        AND g.group_id = ug.group_id"; 
        if ( !($result = $db->sql_query($sql)) ) 
        { 
                message_die(GENERAL_ERROR, 'Could not get user group.', '', __LINE__, __FILE__, $sql); 
        } 
        $access_allowed = false; 
        while( list($group_id, $group_name) = $db->sql_fetchrow($result) ) 
        { 
                if( in_array('g' . $group_id[group_id],$allowed_u )) 
                { 
                         $access_allowed = true; 
                         break; 
                } 
                if( in_array('g' . $group_name[group_name],$allowed_u)) 
                { 
                         $access_allowed = true; 
                         break; 
                } 
        } 
        if( !$access_allowed ) 
        { 
                message_die(GENERAL_MESSAGE, 'Sie haben keinen Zugriff auf diese Seite.'); 
        } 
} 



/***** Inhaltsbereich ******/ 

?>
<h1>Wenn du das siehst, bist du ein Mitglied oder Premiummitglied</h1>
Das Forum liegt auf www.animetropolis.de/forum
Die Seite mit obigem code unter www.animetropolis.de/html/testenneu.php

Gäste sollten kein Zugriff darauf haben.
Premium Mitglieder und Normale Mitglieder sollen Zugriff darauf derhalten.

Egal wer sich einloggt, es erscheint immer der Text: Sie haben keinen Zugriff auf diese Seite.

Die Linkliste des Forums ist ansich auch nicht erwünscht, sie führt außerdem grundsätzlich ins leere, da die angeforderten dateien nicht in dem ordner sind.

Wer hat eine Idee was da falsch ist?

Members haben die Group_ID 36
Premiummembers haben die Group_ID 37

Ich habe auch zwei Test-Accounts falls jemand mal probieren möchte:
Name Tester - passwort demo - er ist normales Mitglied
Name demonstrant - passwort demo - er ist Premiummitglied

Es wäre super, wenn mir jemand da weiterhelfen kann, ich bin echt schon am verzweifeln, da ich von PHP nicht wirklich viel verstehe.

Die obigen Codes hab beim durchsuchen dieses Forums gefunden.

Danke schonmal im Voraus.

Bye Lucien

PS: die jetztige Webseite und forum ist nicht die eigentliche seite auf die ich das ganze anwenden möchte, ich darf dort nur ein wenig mit rumprobieren.