Seite 1 von 1
PHP: Seite kann nicht angezeigt werden... [erledigt]
Verfasst: 23.10.2007 07:54
von dasinnerevombrötchen
...obwohl sie vorhanden ist.
Hallo Forum - ich hab hier ein Problem, dass mich beinahe in den Wahnsinn treibt.
Folgendes Szenario:
Server nicht gefunden
Die Datei index.php kann nach dem Login nicht angezeigt werden.
Die gewünschte Seite ist zurzeit nicht verfügbar. Möglicherweise sind technische Schwierigkeiten aufgetreten oder Sie sollten die Browsereinstellungen überprüfen.
Ok. Ok? Eher weniger, denn rufe ich die Datei ander auf, zum Beispiel
index.php?mode=support
(dabei wird lediglich eine zusätzliche Datei includiert, sonst passiert da nichts!), dann funktioniert das ganze wieder.
Die Dateien liegen im Ordner admin/admin/ - und alle anderen Dateien funktionieren problemlos.
Also: wer hat eine Idee, was hier aus dem Ruder laufen könnte?
Verfasst: 23.10.2007 08:09
von Dr.Death
Hm, laut meiner Glaskugel ist da wohl eine Pfadangabe falsch. Also ganz einfach

Verfasst: 23.10.2007 08:11
von dasinnerevombrötchen
...was natürlich plausibel erklärt, warum die datei funktioniert, wenn man sie mit dem mode aufruft...
Verfasst: 23.10.2007 08:13
von dasinnerevombrötchen
nachtrag, was vielleicht sonst noch interessant ist: das ganze funktioniert jetzt schon seit vier monaten problemlos - gestern ist dann der fehler aufgetreten, ohne das irgendeine der (php)dateien auf dem server angefasst wurde. ob am server selbst was gedreht wurde weiß ich nicht, daher meine frage, ob jemand ne ahnung hat, wo man ansetzen müsste / könnte.
Verfasst: 23.10.2007 08:50
von Dr.Death
Moinsen nochmal....
vielleicht hast das Wort "Glaskugel" von mir überlesen.....
...ohne Deinen verwendeten Code zu kennen, kann man keine Fehlersuche beginnen
Zweitens: bitte beachte --> KB:16 - Thema Topic Bumping.
Wenn Dir ein Nachtrag einfällt, kannst Du den Edit Button benutzen.
Verfasst: 23.10.2007 09:02
von dasinnerevombrötchen
Wenn du meinst, dass das was bringt...
<?php
define('FILENAME', basename(__FILE__));
include_once('constants.php');
switch($mode)
{
case 'support':
include_once('main/support.php');
break;
default:
include_once('main/index.php');
break;
}
include_once(INCL_PATH . 'footer.php');
?>
Meinen Kopfbereich hab ich rausgenommen - da sind steht nur Datum und Co drin.
Die Sache ist die folgende: in der "constants.php" wird der Kopfbereich ausgegeben, also angefangen vom Doctype über den HTML-Head bis hin zum body-Tag. Ausserdem wird dort noch die Navigation in Form einer Liste ausgegeben. Ausserdem findet sich dort auch:
$mode = isset($_GET['mode']) ? htmlspecialchars($_GET['mode']) : '';
Im Footer wird er geschlossen.
Die Datei index.php, die als Standard includiert wird, enthält einen div mit ein wenig Blabla, sonst NICHTS!
Die Datei support.php enthält einen div mit ein wenig Kontakt-Blabla, sonst ebenfalls NICHTS!
Nun also nochmal:
Die Datei wird aufgerufen - besagte Fehlermeldung.
Hänge ich in der Adresszeile das ?mode=support an, dann funktioniert es.
Fakt ist also: die Datei ist definitiv da. Wo also könnte ein möglicher Fehler liegen?
Verfasst: 23.10.2007 09:19
von Dr.Death
Ohne die constants.php gesehen zu haben:
Die Variable INCL_PATH ist evtl. nicht definiert.
Baue mal "Echos" ein, um dir anzeigen zu lassen, welche Variablen überhaupt aktiv sind.
Wenn der $mode nicht angegeben wurde, bleibt ja nicht viel übrig:
Code: Alles auswählen
<?php
define('FILENAME', basename(__FILE__));
include_once('constants.php');
include_once(INCL_PATH . 'footer.php');
?>
Verfasst: 23.10.2007 09:24
von dasinnerevombrötchen
*hm* Danke für den Ansatz - der INCL-PATH wurde definiert. Auch wenn ich den footer mal rausnehme - es kommt der Fehler, dass die Seite nicht angezeigt werden könne - mit ?mode dran geht es wieder...
[Erledigt]
Das Problem hat ishc erledigt. War ein Kollega, der zwar gemerkt hat, das ich am rotieren war - aber mit keiner Silbe erwähnt hatte, dass er eine Datei geändert hatte, die einen Überlauf produziert hat. Das dabei SO EIN Fehler rauskommt verwundert mich zwar immer noch - aber man lernt eben nie aus
