"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

PHP Frage - 404 Aufruf bei falscher Variable

Nightstalker 31.01.2013 - 11:59 1544 5
Posts

Nightstalker

ctrl+alt+del
Avatar
Registered: Jan 2002
Location: .^.
Posts: 6664
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
Avatar
Registered: Feb 2004
Location: -
Posts: 15858
sollte doch mit "default:" gehen oder nicht?
http://php.net/manual/de/control-structures.switch.php

zumindest vorausgesetzt ich versteh dich jetzt richtig

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
Du verwendest ja ein switch, also kannst du nicht abgefangene Variablenwerte für page einfach mit default verarbeiten. Hier ein Beispiel:

Code: PHP
switch ($page)
{
    case 1:
    {
        // => Seite 1
        break;
    }
    case 2:
    {
        // => Seite 2
        break;
    }
    // ...
    default:
    {
        // => 404
    }
}

Nightstalker

ctrl+alt+del
Avatar
Registered: Jan 2002
Location: .^.
Posts: 6664
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

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
Dann muss du vorher per isset() abfragen, ob das die Startseite ist.

Code: PHP
if (!isset($page))
{
    // => homepage
}
else
{
    switch ($page)
    {
        case 1:
        {
            // => Seite 1
            break;
        }
        case 2:
        {
            // => Seite 2
            break;
        }
        // ...
        default:
        {
            // => 404
        }
    }
}

Nightstalker

ctrl+alt+del
Avatar
Registered: Jan 2002
Location: .^.
Posts: 6664
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
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz