Variable ist TRUE, aber keine Ausgabe durch IF-Anweisung

mrcina

Grünschnabel
Hallo.
Ich habe ein Warscript geschrieben und es funkioniert wunderbar. Nun wollte ich die OOP ausprobieren/lernen. Ich habe eine Klasse "Database" erzeugt und diese funktioniert auch. Habe dann eine andere Klasse "Wars" davon abgeleitet, und da drinnen habe ich die Variable $error die standard auf FALSE steht. Diese wird auf true gesetzt wenn zum Beispiel das Formular nicht ausgefüllt wurde.

Nun zum meinem Problem. Ich habe die Variable $error mit var_dump() geprüft und die wird beim Fehler auch auf TRUE gesetzt. Nur dann wenn ich die Fehlermeldung ausgeben will kommt halt keine.

Code:
 <td align="center"><?php
		if($wars->error) { ?>
          <span class="error">Error:<br>
		  <?= $wars->text ?>
          </span>
          <?php  } ?>
		  </td>

Also, die Variable $wars->error ist auf true(laut var_dump()), normal sollte dann die IF-Anweisung ausgeführt werden.
 
Irgendwie ist das komischer Code.

Warum machst du dir keine Methode print_error(), in der intern dein boolscher Wert geprüft wird und dann ausgegeben wird.
 
Also ich habe es jetzt so gelöst und es funktioniert :)

PHP:
	function printError() {
		if($this->error) {
			return $this->text;
		}
		else {
		return false;
		}
	}

Aufruf wie folgt:
PHP:
 <td align="center"><?php
 $errors = $glavna->printError();
		if($errors) { ?>
          <span class="error">Error:<br>
		  <?= $errors ?>
          </span>
          <?php  }  ?>
		  </td>

Habe ich dich so richtig verstanden, oder hast du noch einen Tip?
Vielen Dank
 
Hehe, eigentlich etwas anders, aber so ist auch tricky. Ich hätte alles auf einen Schlag ausgegeben.

Ich bin nur nicht der Fan von so zerstückeltem Code, aber das ist wohl Geschmackssache :p
 
Zurück