Seite 1 von 3
Vorlage für in phpBB eingebundene Seiten
Verfasst: 28.11.2005 21:26
von maxl
Hallo Freunde!
Ich möchte gerne eine neue Seite in mein Forum einbauen. In der Knowledgebase habe ich schon den Artikel
Vorlage für in phpBB eingebundene Seiten gelesen.
Der Einbau hat soweit bereits gefunzt, allerdings möchte ich die Seite nur den registrierten Usern zugänglich machen!
Code: Alles auswählen
<?php
//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
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);
//Dieser Block kann weggelassen werden, wenn du nur den die Userdaten brauchst und auf den phpBB-Header verzichen möchtest
$page_title = 'Meine Seite';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
/***** Inhaltsbereich ******/
//Footer - nur dann weglassen, wenn du auch den Header weglässt
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Kann mir bitte jemand sagen, wie und wo genau ich die Prüfung der Nutzungsrechte einbauen muß, also welcher Code wohin gehört?
Ich weiß es steht in der Anleitung aber leider werde ich nicht wirklich schlau daraus.
Danke für eure Hilfe!
lg maxl
Verfasst: 28.11.2005 21:28
von fanrpg
Da drunter:
oder damit ersetzen.

Verfasst: 28.11.2005 21:38
von maxl
Hmm, also ich habe das jetzt so eingebaut:
Code: Alles auswählen
/***** Inhaltsbereich ******/
<?
if ( $userdata['session_logged_in'] )
{
// Code, wenn ein Benutzer angemeldet ist
}
else
{
// Code, wenn kein Benutzer angemeldet ist
}
//Footer - nur dann weglassen, wenn du auch den Header weglässt
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Die Seite ist aber trotzdem auch für Gäste aufrufbar!
Sorry, ich glaube ich stehe irgendwie auf der Leitung!
lg maxl
Verfasst: 28.11.2005 21:47
von fanrpg
Du kannst PHP?
Du weisst was PHP ist?
Du kannst MySQL?
Wenn du weniger als 3 JA's hast wirds sehr sehr schwierig, denn so einfach wie du dir das gerade denkst geht das auch wieder nicht
Aber hier mal als kleine Hilfe (nicht optimal)
Code: Alles auswählen
<?php
//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
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);
//Dieser Block kann weggelassen werden, wenn du nur den die Userdaten brauchst und auf den phpBB-Header verzichen möchtest
$page_title = 'Meine Seite';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
if ( $userdata['session_logged_in'] )
{
// Code, wenn ein Benutzer angemeldet ist
}
else
{
message_die(CRITICAL_ERROR, 'Gäste haben keinen Zugriff', '', __LINE__, __FILE__, '');
}
//Footer - nur dann weglassen, wenn du auch den Header weglässt
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Verfasst: 28.11.2005 22:05
von maxl
Hallo fanrpg!
Zuerst mal Danke, daß du mir helfen wolltest aber wie du richtig vermutest, habe ich von PHP und MySQL nicht so wirklich Ahnung! Ich kann zwar Updates machen und Mod's einbauen nach Anleitung aber zu mehr reicht es leider halt nicht!
Ich habe es jetzt nach deiner Anleitung gemacht und man kommt nur noch als registrierter User auf die Seite, als Gast erhält man folgende Meldung:
phpBB : Critical Error
Gäste haben keinen Zugriff
DEBUG MODE
Line : 24
File : neueseite.php
Ist wahrscheinlich das, was du als nicht optimal gemeint hast...
Schade, hab mir das wirklich zu einfach vorgestellt und werde das halt sein lassen müssen.
lg maxl
Verfasst: 28.11.2005 22:14
von Schumi
Code: Alles auswählen
<?php
//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
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);
if ( !$userdata['session_logged_in'] )
{
message_die(GENERAL_MESSAGE, 'Gäste haben keinen Zugriff');
}
//Dieser Block kann weggelassen werden, wenn du nur den die Userdaten brauchst und auf den phpBB-Header verzichen möchtest
$page_title = 'Meine Seite';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
/***** Inhaltsbereich ******/
//Footer - nur dann weglassen, wenn du auch den Header weglässt
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
So sollte das ganze besser aussehen

Verfasst: 28.11.2005 22:16
von Pyramide
Wenn man GENERAL_MESSAGE statt CRITICAL_ERROR nimmt, wird die Meldung auch im phpBB-Design angezeigt.
Verfasst: 28.11.2005 22:34
von maxl
Herzlichen Dank Leute, ihr seid Spitze!
Schaut so natürlich gleich viel besser aus!!!
Bin ich jetzt unverschämt wenn ich frage, ob es auch eine Möglichkeit gibt, damit statt der Meldung die Login-Aufforderung erscheint?

Dann wäre es perfekt!
lg maxl
Verfasst: 28.11.2005 23:24
von fanrpg
Code: Alles auswählen
if ( !$userdata['session_logged_in'] )
{
redirect('login.'.$phpEx.'?redirect='.$_SERVER['PHP_SELF']);
}
anstatt von dem altem zu benutzen

Verfasst: 28.11.2005 23:36
von maxl
Ich sag's ja -
ihr seid Spitze!!!
Jetzt ist es optimal!
Vielen herzlichen Dank nochmal an alle!!!
lg maxl