Error 404 - Frage
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
achtung
ausgeben
auslese
browser
code
datei
datenbank
fehler
idee
inhalt
jemand
kleiner dreher
navigation
problem
realisieren
sagen
speichern
url
variable url
verzichten
-
ich habe in der htaccess datei folgendes:
ErrorDocument 404 http://moonfight.lima-city.de/error/404.php
und in der 404.php datei:
$browser = $_SERVER['HTTP_USER_AGENT']; $ip = $_SERVER['REMOTE_ADDR']; $ip = eregi_replace(", 127.0.0.1", "", $ip); $url = $_SERVER['HTTP_REFERER']; $nourl = "Nicht Vorhanden"; if (empty($url)) { $url = $nourl; } @mysql_query("INSERT INTO errorlogger (url, ip, browser, errortime) VALUES ('$url', '$ip', '$browser', NOW())"); echo "<div algin='center'>Diese Seite ist leider noch nicht verfügbar</div>";
nur jetzt habe ich das problem das ich frames habe und es einige seiten noch nicht gibt. und dann soll eben die 404.php seite angezeigt werden und der fehler in einer datenbank gespeichert werden. nur als url bekomme ich dann navigation.php (also die datei von der ich auf die seite gekommen bin, die es aber nicht gab).
Später habe ich dann vor noch zu überprüfen, ob dieser fehler schon mal eingetragen wurde, damit die datenbank nicht explodiert,
aber bitte fragt mich nicht warum ich die fehler speichern will, es hatt schon seinen sinn.
gruss
wie kann man die eigentliche 404-error seite herausbekommen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wenn ich dich richtig verstanden hab, möchtest du in der Variable $url die angefragte Datei haben, und nicht die, von der verlinkt wurde. Die bekommst du mit $_SERVER['REQUEST_URI'] (Achtung: URI und nicht URL).
PS: Kleiner Dreher bei <div align> ;) -
Hallo,
du könntest, wenn du mit Sessions arbeitest, immer die letzte Seite in zum Beispiel $_SESSION['last_site'] speichern, und diese dann in 404.php auslesen, bevor $_SESSION['last_site'] in 404.php auf 404.php gesetzt wird.
MfG
Steffen -
wie soll das bitte gehen, die htaccess-datei leitet doch sofort an die 404.php datei weiter.
meinst du es soll in der navigation bestimmt werde welchen link man gedrückt hat?
Aber es soll eben (falls du es so meinst) immer gehen auch ohne Navigation.
Irgendwie muss man doch erkennen welche Seite nicht ging.
gruss dobby -
Hi,
stimmt, das hatte ich garnicht beachtet.
Keine Ahnung, wie man es dann lösen sollte... -
Ich habe es nicht getestet, aber versuch es mal mit "$_SERVER["REQUEST_URI"]".
Bei Error-Dateien soll das funktionieren. -
gr00vy schrieb: Wenn ich dich richtig verstanden hab, möchtest du in der Variable $url die angefragte Datei haben, und nicht die, von der verlinkt wurde. Die bekommst du mit $_SERVER['REQUEST_URI'] (Achtung: URI und nicht URL).
PS: Kleiner Dreher bei <div align> ;)
ääähm
vllt sollte man sich den thread erst mal gut durchlesen bevor man antwortet
aber ich habe immernoch keine möglichkeit gefunden.
ich hoffe weiterhin das jemand eine idee hat
gruss -
Die einzige Möglichkeit, die mir einfällt, wäre diese: Auf ErrorDocument verzichten und die Fehlerbehandlung per über ein zwischengeschaltetes php-Skript realisieren.
Etwas in der art frameinhalt.php?content=irgendwas
Wenn irgendwas noch nicht existiert eine Fehlermeldung ausgeben und die Url der fehlenden Seite in die Datenbank schreiben.
Wenn irgendwas verfügbar ist, den Inhalt im Frame ausgeben.
Dann könntest Du allerdings auch sofort auf die Frames verzichten und die Inhalte includen. ;)
Freddy
Beitrag zuletzt geändert: 18.3.2009 14:29:49 von fatfreddy -
Um das Problem hab ich mich grad nich gekümmert, aber dein snippet ist so dermaßen unsicher das ich nur dazu was sagen will: BOAHH IST DAS UNSICHER!
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage