• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

404 ERROR innerhalb einer Seite

McCry

Mitglied
Moin,
ich möchte mir eine 404 Error page gestalten.
Da meine Seite aber fast komplett mit includes aufgebaut ist, ist das bei mir etwas schwieriger als wenn jede Seite eine eigenes Html Dokument hat. Ich meine, man wird nicht direkt auf eine Seite geleitet, sondern die Seite wird je nach URL aufgebaut (index.php?page=blubb).
Wenn jetzt jemand, warum auch immer, die Seite index.php?page=blubb öffnen will, soll da, wo sonst der normale Content ist, die 404 Meldung angezeigt werden.
Ich hoffe mal, das war verständlich :D
Also, kann mir da jemand helfen? Wäre super
Lg McCry
 
Werbung:
Hi,
ich meine, dass bei z.B. index.php?page=blubb (denn die Seite blubb gibt es nicht) an der Stelle, wo der Content includet wird, eine Error Seite hinkommt.
 
Werbung:
Und wo ist jetzt dein Problem? Mit file_exists prüfen, ob die Datei, die eingebunden werden soll, existiert und wenn ja, alles gut, wenn nein entweder Fehler-Part includen oder auf eine andere Seite weiterleiten.
 
Und wenn der Fehlerpart angezeigt wird, dann auch noch per header() den HTTP-Status auf 404 setzen damit auch Suchmaschinen korrekt erkennen können, dass das jetzt eine Fehlerseite ist. Wobei das bei mit mod_rewrite-gestalteten URLs am sinnvollsten ist - bei index.php mit Parametern hinten dran könnte es gefährlich sein.
 
Erstmal Danke an alle.
Ich glaube, ihr habt mich etwas falsch verstanden. Ich hab mir das alles nochmal durch den Kopf gehen lassen, und bin auf die Idee gekommen, dass, bevor includet wird, geprüft wird, ob der Wert, welcher in der URL in der Variable page
übergeben wird, überhaupt in der switch Funktion vorhanden ist (Ich include mit switch).
Jetzt hab ich nur leider keine Ahnung, wie ich das anstellen soll und deshalb bitte ich euch nochmal um eure Hilfe.

danke schonmal
LG McCry


Edit. Würde es funktionieren, wenn man alle vergebenen Werte von $page in einem Array oä. speichert und vor der switch Funktion prüft, ob der übergebene Wert in diesem Array vorkommt? wenn er nicht vorkommt, wird halt eine Errorseite eingefügt.
 
Zuletzt bearbeitet:
Werbung:
OK. Ich habs geschafft.
Ich habe alle verfügbaren Seiten in einem Array gespeichert und die switch Funktion in eine If-Abfrage gepackt, die prüft, ob der übergebene Wert in dem Array vorhanden ist.

Lg McCry
 
Ansonsten:
PHP:
switch($variable){
case "home": include "home.php";break;
case "kontakt": include "kontakt.php";break;
default: include "404.php";
}
 
Zuletzt bearbeitet:
Gut, Dann Danke nochmal an euch alle, obwohl ich jetzt mehr oder weniger selber drauf gekommen bin :D
Lg McCry
 
Werbung:
Zurück
Oben