Seite 1 von 1

[gelöst] Gesamtes Forum nur für Registrierte sichtbar - WIE?

Verfasst: 13.05.2009 02:45
von Peggy
Huhu,

nun habe ich 2h lang gesucht und selbst probiert, aber jetzt muss ich doch fragen...

Ich möchte gerne, dass wenn man als Gast auf das Forum kommt (egal ob index.php, search.php, downloads.php, ... etc.), man IMMER zum Login weitergeleitet wird, also zu ucp.php?mode=login (musste gerade feststellen, dass phpBB3 keine login.php hat).

Ich wollte nun diesen Code in alle root-php-Dateien nach dem Session-Management einfügen:

Code: Alles auswählen

// Verweigert nicht eingeloggten Usern den Zutritt
if( !$userdata['session_logged_in'] )
{
   header("Location: " . append_sid("ucp.php?mode=login", true));
   exit;
}
Will nun doch mal fragen, ob das so richtig und elegant gelöst ist? Das Snippet funktioniert zwar, aber ich glaube, dass man das noch eleganter lösen kann. Wer kann helfen? :wink:

Re: Gesamtes Forum nur für Registrierte sichtbar - WIE?

Verfasst: 13.05.2009 11:33
von oxpus
Öhm, die Bedingung

Code: Alles auswählen

!$userdata['session_logged_in']
müsste für das phpBB 3 eigentlich so lauten:

Code: Alles auswählen

!$user->data['is_registered']

Re: Gesamtes Forum nur für Registrierte sichtbar - WIE?

Verfasst: 13.05.2009 13:57
von Peggy
Ach, das war ein Snippet, das eigentlich fürs phpBB2 gedacht war :lol:

Jetzt würde mich hierzu nur noch interessieren, ob dieser Abschnitt

Code: Alles auswählen

append_sid("ucp.php?mode=login", true)
so richtig ist.

Die Weiterleitung klappt wie gesagt, allerdings steht dann in der URL immer: ucp.php?mode=login&1
Das rot markierte irritiert mich. Das kann so nicht richtig sein... :-?

Re: Gesamtes Forum nur für Registrierte sichtbar - WIE?

Verfasst: 13.05.2009 14:25
von oxpus
Schreib den Link mal so:

Code: Alles auswählen

append_sid("ucp.php?mode=login")
Das reicht vollkommen.

Re: Gesamtes Forum nur für Registrierte sichtbar - WIE?

Verfasst: 13.05.2009 14:30
von Mahony
Hallo
Versuchs mal mit

Code: Alles auswählen

if (!$user->data['is_registered'])
{
    login_box();
} 
Alternativ geht auch

Code: Alles auswählen

if ($user->data['user_id'] == ANONYMOUS)
{
    login_box();
} 

Grüße: Mahony

Re: Gesamtes Forum nur für Registrierte sichtbar - WIE?

Verfasst: 13.05.2009 14:45
von Peggy
Hui, Danke Jungs!

Beide Vorschläge funktionieren. Prima! :D