Hallo.
Wie die meisten hier im PHP-Unterforum wissen, arbeite ich schon seit längerem an einem PHP-Skript. Nun habe ich mal wieder ein Problem und komme nicht weiter.
Wenn es z.B. im Skript einen Fehler gibt, mache ich das immer so das ich wichtige Variablen lösche (Unset() und so das Skript abbrechen lasse.
Denn in der Mitte des Skripts ist eine Preg_Match Abfrage und wenn die wichtigen Variablen nicht gesetzt sind, bricht das Skript ab.
Das Problem ist nun alles was nach der Preg_Match Abfrage kommt, lässt sich nicht Fehlerfrei abbrechen.
Beispiel:
Kurz vor Skript Ende kommt es zu einem Berechnungsfehler (nicht wirklich Fehler), weil der User eine Kombination aus Optionen gewählt hat, die ich aber nicht zulasse.
Ok jetzt habe ich "ERROR!" ausgegeben aber das Skript läuft trotzdem weiter und versucht weitere Grafiken zu erstellen usw.
Ein "Break" bringt mir glaube ich auch nichts, weil das letzte Stück Code im Skript teilweise das aussehen der Webseite darstellt. Ein "reload" wäre sehr unprofessional finde ich.
Hat jemand eine Idee wie man das lösen könnte?
Gibt es evtl. eine Funktion oder so in PHP wo man z.B. den restlichen Code überspringen kann bis zu einem bestimmten Punkt? Oder gäbe es die Möglichkeit an der Stelle wo der Fehler aufgetreten ist, die Variablen neu zu "gestalten" und das Skript fängt dann automatisch von vorne an.
Wie die meisten hier im PHP-Unterforum wissen, arbeite ich schon seit längerem an einem PHP-Skript. Nun habe ich mal wieder ein Problem und komme nicht weiter.
Wenn es z.B. im Skript einen Fehler gibt, mache ich das immer so das ich wichtige Variablen lösche (Unset() und so das Skript abbrechen lasse.
Denn in der Mitte des Skripts ist eine Preg_Match Abfrage und wenn die wichtigen Variablen nicht gesetzt sind, bricht das Skript ab.
Das Problem ist nun alles was nach der Preg_Match Abfrage kommt, lässt sich nicht Fehlerfrei abbrechen.
Beispiel:
Kurz vor Skript Ende kommt es zu einem Berechnungsfehler (nicht wirklich Fehler), weil der User eine Kombination aus Optionen gewählt hat, die ich aber nicht zulasse.
PHP:
$img = getimagesize($new_image);
if ($img[0] > 7580) {
echo 'ERROR!';
}
Ok jetzt habe ich "ERROR!" ausgegeben aber das Skript läuft trotzdem weiter und versucht weitere Grafiken zu erstellen usw.
Ein "Break" bringt mir glaube ich auch nichts, weil das letzte Stück Code im Skript teilweise das aussehen der Webseite darstellt. Ein "reload" wäre sehr unprofessional finde ich.
Hat jemand eine Idee wie man das lösen könnte?
Gibt es evtl. eine Funktion oder so in PHP wo man z.B. den restlichen Code überspringen kann bis zu einem bestimmten Punkt? Oder gäbe es die Möglichkeit an der Stelle wo der Fehler aufgetreten ist, die Variablen neu zu "gestalten" und das Skript fängt dann automatisch von vorne an.
PHP:
$img = getimagesize($new_image);
if ($img[0] > 7580) {
echo 'ERROR!';
$font_typ = 'normal'; // nehmen wir an der Eintrag "bold" hat zu diesem Fehler geführt.
}
NEW START des Skripts!?