Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Komma beim Formularabsenden gegenPunkt tauschen?
Frage
Ich hab seit geraumer Zeit ein nerviges Probelm und bekomm es einfach nicht hin.
Folgende Problemstellung:
Über ein Formular sollen Daten in MySQL eingetragen werden (was auch super klappt) unter anderem aber auch ein Geldbetrag (z.B. 12,96)
Trägt der User jedoch 12,96 (also mit Komma) ein steht in der DB nur 12.00.
Bei Eintrag von 12.96 wird der Betrag korrekt eingetragen.
Wie ich beim Auslesen des Betrages zum anzeigen aus der Datenbank aus dem Punkt wieder ein Komma mache weis ich.
Aber wie fange ich die "fehlerhafte" Eingabe zwischen dem Formularversand und dem Eintrag in die Datenbank ab?
Antwort 1 von Nessus
Hi,
HTH
Nessus
<?
$test = str_replace(".",",","$zahl");
?>
HTH
Nessus
Antwort 2 von Magnus
Hallo Nessus,
so in etwa dachte ich mir das auch.
Nur wie bau ich deinen Schnipsel in den <form>-tag ein?
Der Betrag kommt doch aus einem
<input type=" .....
und beim absenden wird alles sofort in die DB eingetragen.
so in etwa dachte ich mir das auch.
Nur wie bau ich deinen Schnipsel in den <form>-tag ein?
Der Betrag kommt doch aus einem
<input type=" .....
und beim absenden wird alles sofort in die DB eingetragen.
Antwort 3 von Nessus
Hi,
baue dieses Script nicht in die Form ein, sondern im Output. Die Daten stehen zwar dann immer noch falsch in der DB, aber werden trotzdem richtig wiedergegeben.
Sind die Felder in der DB richtig gewählt?
Nessus
baue dieses Script nicht in die Form ein, sondern im Output. Die Daten stehen zwar dann immer noch falsch in der DB, aber werden trotzdem richtig wiedergegeben.
Sind die Felder in der DB richtig gewählt?
Nessus
Antwort 4 von Magnus
Huhu Nessus,
genau das ist ja mein Problem!
Wird der Betrag mit einem Komma eingetragen, steht hinterher in der Datenbank nur 12.00 anstelle von 12.96!
Wenn ich das dann auslese bekomme ich also auch nur 12,00 angezeigt.
Ich muß also irgendwo zwischen "Absenden" und dem speichern in der DB überprüfen ob ein Komma vorhanden ist und wenn ja dieses VOR dem speichern gegen einen Punkt austauschen.
Wir als Wert 12.96 der DB übergeben steht auch 12.96 in der Zelle drin.
genau das ist ja mein Problem!
Wird der Betrag mit einem Komma eingetragen, steht hinterher in der Datenbank nur 12.00 anstelle von 12.96!
Wenn ich das dann auslese bekomme ich also auch nur 12,00 angezeigt.
Ich muß also irgendwo zwischen "Absenden" und dem speichern in der DB überprüfen ob ein Komma vorhanden ist und wenn ja dieses VOR dem speichern gegen einen Punkt austauschen.
Wir als Wert 12.96 der DB übergeben steht auch 12.96 in der Zelle drin.
Antwort 5 von Nessus
Hi,
wo ist denn das Problem?
Dann baust Du dieses Sniplet in das Script ein, das die Daten in die DB schreibt, und für die Ausgabe machst Du es ganauso.
Ist zwar nicht schön, aber selten und es funktioniert...
Nessus
wo ist denn das Problem?
Dann baust Du dieses Sniplet in das Script ein, das die Daten in die DB schreibt, und für die Ausgabe machst Du es ganauso.
Ist zwar nicht schön, aber selten und es funktioniert...
Nessus

