Zweipunktnull
Commander
- Registriert
- Dez. 2004
- Beiträge
- 2.546
Hallo!
Ich habe da ein Stück Code, was ich sehr suboptimal finde, weil es doch recht viele Wiederholungen enthält. Allerdings habe ich momentan einfach keine Idee, wie ich es besser machen könnte.
Es geht darum, dass unterschiede Seiten eingebunden werden sollen - abhängig von einer GET-Variable und der Tatsache, ob der Benutzer eingeloggt ist oder nicht. Für manche Seiten muss man eingeloggt sein, für andere nicht. Und wenn ein uneingeloggter Benutzer eine Seite aufruft, für die man eingeloggt sein muss, soll die Seite index angezeigt werden.
Das if ($_SESSION['logged_in']) wiederholt sich für meinen Geschmack zu oft. Wenn ich allerdings zuerst überprüfe, ob der Benutzer eingeloggt ist, dann muss ich die switch-Struktur teilweise doppelt schreiben. Ich sitze also irgendwie in einer Zwickmühle.
So etwas wie case 'page1' && $_SESSION['logged_in']: wäre optimal - leider geht das so in PHP nicht.
Hat also jemand eine andere Idee?
Ich habe da ein Stück Code, was ich sehr suboptimal finde, weil es doch recht viele Wiederholungen enthält. Allerdings habe ich momentan einfach keine Idee, wie ich es besser machen könnte.
Es geht darum, dass unterschiede Seiten eingebunden werden sollen - abhängig von einer GET-Variable und der Tatsache, ob der Benutzer eingeloggt ist oder nicht. Für manche Seiten muss man eingeloggt sein, für andere nicht. Und wenn ein uneingeloggter Benutzer eine Seite aufruft, für die man eingeloggt sein muss, soll die Seite index angezeigt werden.
PHP:
switch ($_GET['page'])
{
case 'page1':
if ($_SESSION['logged_in'])
{
include 'page1';
break;
}
case 'page2':
if ($_SESSION['logged_in'])
{
include 'page2';
break;
}
case 'page3':
if ($_SESSION['logged_in'])
{
include 'page3';
break;
}
case 'page4':
include 'page4';
break;
case 'page5':
include 'page5';
break;
case 'page6':
include 'page6';
break;
default:
include 'index';
}
Das if ($_SESSION['logged_in']) wiederholt sich für meinen Geschmack zu oft. Wenn ich allerdings zuerst überprüfe, ob der Benutzer eingeloggt ist, dann muss ich die switch-Struktur teilweise doppelt schreiben. Ich sitze also irgendwie in einer Zwickmühle.
So etwas wie case 'page1' && $_SESSION['logged_in']: wäre optimal - leider geht das so in PHP nicht.
Hat also jemand eine andere Idee?
Zuletzt bearbeitet: