Fragen zum Tutorial: phpBB-Login auf meiner Homepage verwend

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Ken-chan
Mitglied
Beiträge: 1
Registriert: 20.01.2005 05:09

Fragen zum Tutorial: phpBB-Login auf meiner Homepage verwend

Beitrag 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.
Antworten

Zurück zu „Coding & Technik“