PHP Frage - 404 Aufruf bei falscher Variable
Nightstalker 31.01.2013 - 11:59 1544 5
Nightstalker
ctrl+alt+del
|
Hallo, eine (vermutlich) einfache Frage ... Ich hab eine Seite auf der ich Texte bzw. Unterseiten per include einbinde, ich habe das ganze mit switch case gemacht um sicher zu stellen dass keine "fremde" Seiten geladen werden können. Ich habe also 15 cases, jeder eine Seite plus einen default für die Startseite. Soweit ist alles einfach, in jedem Case beschreibe ich verschiedene Stati, einmal die Datei die später incluet werden soll (in eine Variable), einmal eine Styledefinition ebenfalls als Variable damit für jede Seite die passenden extra Styles geladen weren und dann noch den Titel der jeweiligen Seite damit der auch korrekt angezeigt wird ... Bis hier bin ich gekommen, was mir jetzt fehlt ist der Aufruf der (vorhandenen) 404 Seite wenn man in der URL statt index.php?page=10 zum Beispiel page=99 eingibt oder eben irgend etwas anderes was in keinem der cases definiert ist. Ich hatte erst gedacht ich könnte einfach die Variable die ich schreibe abfragen, empty geht aber nicht also müsste ich alle 15 möglichen Werte abfragen, das ist auch unpraktisch, geht sicher einfacher oder? lg und danke
|
userohnenamen
leider kein name
|
|
mat
AdministratorLegends never die
|
Du verwendest ja ein switch, also kannst du nicht abgefangene Variablenwerte für page einfach mit default verarbeiten. Hier ein Beispiel: switch ($page)
{
case 1:
{
// => Seite 1
break;
}
case 2:
{
// => Seite 2
break;
}
// ...
default:
{
// => 404
}
}
|
Nightstalker
ctrl+alt+del
|
Ja das ist in der Tat eine Möglichkeit, dumm nur dass default schon existiert... Ich verwende default um die erste Seite beim Aufruf zu includen.
Lg
|
mat
AdministratorLegends never die
|
Dann muss du vorher per isset() abfragen, ob das die Startseite ist. if (!isset($page))
{
// => homepage
}
else
{
switch ($page)
{
case 1:
{
// => Seite 1
break;
}
case 2:
{
// => Seite 2
break;
}
// ...
default:
{
// => 404
}
}
}
|
Nightstalker
ctrl+alt+del
|
ok, das werd ich mal so versuchen, bin noch nicht ganz sicher ob das klappt, sollte es aber eigentlich...
Danke erstmal, ich meld mich!
lg
|