PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Script trotz Fehler weiterparsen



AceTheFace
07-04-2004, 15:43
Hi,

habe eine webseite, die in der index.php unterseiten einfach includet. Wenn nun in einer dieser Unterseite ein Fehler auftritt, werden die nachfolgenden nicht mehr angezeigt. Kann man das irgendwie umgehen?

Habe nämlich das Problem, dass wenn der Benutzer eine falsche IP-Adresse in einem Formular eingibt, dass dann das Statusfenster, welches den Status eines Server an dieser IP-Adresse anzeigt, nat. nen Fehler meldet. Jetzt kann der User seinen Fehler aber nicht mehr rückgängig machen, da er nicht mehr an das Formular kommt...

Gruß,

Ace

Gaert
07-04-2004, 15:49
Mit welchem Befehl werden die Seiten Inlkludiert?

include oder require?

Hast du zugriff auf die Unterseiten?

An welcher Stelle der Unterseite wird der Fehler produziert?

Ein paar mehr Infos wären nicht schlecht.

AceTheFace
07-04-2004, 15:57
Die Seiten werden mit include "inkludiert".
Auf die wichtige Unterseite zum Ändern der Einstellung habe ich, aufgrund eines Zugriffsschutzes über die Hauptseite, keinen Zugriff.
Was meinst du mit "stelle"? Der Befehl der einen Fehler wirft ist dieser hier:
$fp = fsockopen($url,$port,$errno,$error,5) OR die("Server not available");

Noch mehr?

Gruß,

Ace

undefined
07-04-2004, 16:06
$fp = @fsockopen($url,$port,$errno,$error,5) OR ("Server not available");
Kleines Zeichen Große wirkung, ein "die" würde ich nicht verwenden weil es den Parserablauf beendet. ;)

AceTheFace
07-04-2004, 16:17
Original geschrieben von undefined

$fp = @fsockopen($url,$port,$errno,$error,5) OR ("Server not available");
Kleines Zeichen Große wirkung, ein "die" würde ich nicht verwenden weil es den Parserablauf beendet. ;)

Ah ok. Aber gebracht hats leider nichts. Nun versucht er es wohl endlos oft.....wenn ich dann im Browser auf abbrechen drücke, bekomme ich wieder die php-fehler zu sehen und die restlichen unterfenster werden nicht geladen.

Gruß,

Ace

AceTheFace
07-04-2004, 16:31
So, habe im IRC folgenden Tipp bekommen:

if ($fp = @fso....) { do things; } else { echo "Nicht erreichbar!"; }

Nun zeigt er den PHP-Fehler an, die Seite lässt sich aber trotzdem ohne Probleme bedienen.

Gruß,

Ace

undefined
07-04-2004, 18:57
Du must auch die fehlende Resource abfangen.

$fp = @fsockopen( $url, $port, $errno, $error, 5 );
if ( is_resource( $fp ) ) {
echo "weiterer Codes";
}http://de2.php.net/manual/de/function.is-resource.php

Des weiteren würde ich dir noch Register function empfehlen wenn du Probleme mit der Laufzeit bekommst.