PHP-Skript "richtig" abbrechen

Ich habe diesen Code so weit wie möglich oben eingebaut. Rein "logisch" sollte das Skript dann statt "$var = Usereingabe" diesen Code ausführen.

PHP:
function do_something() {
   $var1 = 'ERROR';
   $var2 = 'NR';
   $var3 = '1';
echo 'Error! Bitte Eingaben prüfen!';
}

Ziehmlich unten im Skript habe ich das dann so eingebaut.

PHP:
if ($img[0] < 8000) {
   do_something();
}

Und das "Echo" wird auch ausgegeben hat aber leider keine Auswirkung auf die ganzen Variablen und berechnungen. Das Echo wird übrigens sogar als erstes ausgegeben. Wird also quasi wie ein verspätetes Echo behandelt. Aber die Variablen ändern sich dadurch nicht.

Ich dachte ich kann damit ein "Neustart" einleiten.
 
Neustart? Ne, dass geht so nicht. Du könntest höchstens per HTTP-Location erneut auf dieses Skript verweisen. Das hätte aber als Folge, dass die Daten, die per POST verschickt wurden, nicht mehr vorhanden sind.
 
Das ist das Problem. Echt Schade dass das nicht so geht.

Denn in meinem Skript werden alleine in über 35 Zeilen reinste Berechnungen durchgeführt.

Im ersten Teil theoretische Berechnung und später dann die richtigen Berechnungen und es gibt dann keine Möglichkeit mehr das Skript Fehlerfrei in einen absichtlichen Fehler umzuleiten. Jedenfalls gibt es keine Professionelle möglichkeit.
 
Doch, auch das geht, Stichwort Exceptions:
PHP:
try{
  $a = 5;
  $b = 4;
  if( $b < $a ){
    throw new Exception('b ist kleiner als a');
  }
}
catch(Exception $e){
  echo 'Upps, da ging was schief: '.$e->getMessage();
}
 
Ich fühl' mich gerade mal wieder ignoriert, weil ich das, was timestamp eben geschrieben hat, bereits vorher erwähnt habe, und das nicht das erste Mal ist. Vielleicht solltest du, bl5000, die Beiträge mal genauer durchlesen und ausprobieren, bevor du sagst, dass etwas nicht geht. Wie gesagt: das ist nicht das erste Mal bei dir.
 
Ich fühl' mich gerade mal wieder ignoriert, weil ich das, was timestamp eben geschrieben hat, bereits vorher erwähnt habe, und das nicht das erste Mal ist. Vielleicht solltest du, bl5000, die Beiträge mal genauer durchlesen und ausprobieren, bevor du sagst, dass etwas nicht geht. Wie gesagt: das ist nicht das erste Mal bei dir.

Wieso ignoriert? Was soll ich denn zu deinen Beitrag noch sagen?

Wenn es nicht geht, geht es halt nicht.
 
Was willst du denn eigentlich? Willst du, dass dein Skript, wenn es denn einmal läuft, nicht mehr abgebrochen wird? Das geht nicht! Oder willst du, dass du deinen Skriptteil mit den rechenintensiven Operationen erst dann ausgeführt wird, wenn alle Daten korrekt sind? Dann musst du das eben alles vorher überprüfen. Oder willst du, dass dein Skript, wenn ein Fehler auftritt, sofort abbricht? Dann schau dir bitte Exceptions an.
 
Das tut mir leid einfach nur crack, ich hatte das jetzt irgendwie übersehen.

bl5000 ich stimme ihm da zu, du hast hier jetzt praktische sämtliche Lösungswege für jedes Problem aber scheinbar passt da keins zu deinem? Werde dir doch bitte erst einmal darüber im klaren was du wirklich willst.
 
Zurück