Mailinglisten-Archive |
Hallo, habe folgendes Problem: Ich hab ein Formular, was Daten in eine Mysql Tabelle schreibt. Das Eingabefeld für eine Summe von max 999 sieht folgendermaßen aus echo "<tr><td> Spende in Eurocent: </td><td><input name='summe' type='text' size='5' maxlength='3'> max 999 Eurocent auf einmal</td></tr>"; Ein regulärer Ausdruck, der aus jedem (so hoffe ich doch) Datenbankstatement oder Javascript codeschnipsel murks macht , sieht so aus ( in jedes eingabefeld implementiert und wird vorm Speichern in die Datenbank ausgeführt) $summe=eregi_replace("([<,>,\",',=])+","",$summe); und in der Datenbank ist das Feld auf int(4) beschränkt. Wie kann es sein, daß dennoch Werte in dieses Summenfeld von "4294967295" eingetragen und gespeichert werden können?! Was stimmt an meinem regulären Ausdruck nicht ?! Ich wollte nämlich so schauen, wer wirklich andere Codeschnipsel in die DB einträgt,hatte etliche Javascript referer drin, indem dann einfach unausführbarer Code drin steht. Hab ich was wichtiges vergessen zu ersetzten. Mit Teststrings in denen Code etx vorkommt klappt das super ... Für einen Tipp wäre ich sehr dankbar. Vielen Dank im vorraus Sabrina Ach ja, hier die Url zum fehlerhaften Formular ;) www.wir-helfen-microsoft.de.vu unter Geldspenden
php::bar PHP Wiki - Listenarchive