Antwort an „Robert B.“ verfassen

Moin Gerald,

da dieses Forum (eine Art) Markdown verwendet, wird ein einzelner Zeilenvorschub zu einem Leerzeichen und der Text landet in einer Zeile. Das hätte Dir in der Vorschau auffallen können.

Einen neuen Absatz kennzeichnest Du durch eine Leerzeile dazwischen.

Politisch Hp’s sind in einem Hilfechat immer kritisch.

Das SELFHTML-Forum ist – wie der Name schon sagt – ein Forum und kein Chat!

Ja der echo –Tag ist mir bekannt.

Es gibt ein „echo-Tag“ in HTML? Das wäre mir neu. Meinst Du das gleichnamige PHP-Sprachkonstrukt?

Ich wandele Zahlen erst bei der Ausgabe um. Beispiel:

<input name="nettoverdienst" type="text" value="<?php echo number_format($nettoverdienst,2, ",", ".") ; ?>" <?php if ( !floatval($nettoverdienst) > 0) {echo 'class="error"'; $fehler=1;} ?> size="10">&euro;

Dadurch kann ich Fehler bei den Eingaben abfangen. Es ist sicher nicht die eleganteste Lösung, aber es hat sich einfach bewährt. Außerdem kann ich dann gleich eine Fehlerbehandlung machen.

Serverseitige Validierung ist auf jeden Fall immer notwendig – wenn man sie richtig macht: Geldbeträge sollte man niemals als Floating Point Zahlen behandeln! Durch die Darstellung zur Basis 2 (anstelle von 10) können zwangsläufig nicht alle benötigten Zahlen dargestellt werden – selbst mit nur zwei Nachkommastellen. Stattdessen rundet der Computer und es können „Beträge verloren gehen“.

(Sind die Cent des Nettoverdiensts bei der Berechnung überhaupt notwendig?)

Zusätzlich ist natürlich auch clientseitige Validierung dringend zu empfehlen.

Für <?php echo?> kennt PHP die alternative Syntax <?=?>, die der Lesbarkeit dient. Und !floatval($nettoverdienst) > 0 ist natürlich das Gleiche wie floatval($nettoverdienst) <= 0

Viele Grüße
Robert

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen