PHP Frage - 404 Aufruf bei falscher Variable

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php-frage-404-aufruf-bei-falscher-variable_233491/page_1 - zur Vollversion wechseln!


Nightstalker schrieb am 31.01.2013 um 11:59

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 schrieb am 31.01.2013 um 12:02

sollte doch mit "default:" gehen oder nicht?
http://php.net/manual/de/control-structures.switch.php

zumindest vorausgesetzt ich versteh dich jetzt richtig


mat schrieb am 31.01.2013 um 12:06

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 schrieb am 31.01.2013 um 20:23

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 schrieb am 31.01.2013 um 20:49

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 schrieb am 02.02.2013 um 16:29

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




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025