HTML Textarea in mySQL DB. Größe festlegen ?

HansDampf38

Lt. Junior Grade
Registriert
Jan. 2008
Beiträge
381
Hallo,
folgende Situation:

Ich habe auf meiner HP ein Textfeld, wo die Leute ein Kommentar schreiben können und der soll danach in eine MySQL - DB geschrieben werden.

Ein paar Fragen:

1. In der DB muss ich und habe ich eine größe von 250 Zeichen angeben, in HTML sieht das ja schlecht aus. Da kann ich zwar den INPUT "Text" nehmen, aber da der nur Einzilig ist, sieht das nicht aus und die Textarea kann ich keine Begrenzung auf 250 Zeichen machen. Was kann ich machen ?

2. Wie kann ich Live mitzählen und anzeigen lassen, wieviel Zeichen schon eingetippt wurden ? Sowas wie bei SMS, dass der Schreiber weiß, wieviel er noch schreiben darf.

3. Ich weiß, das es in JS einen einfach Befehl gibt um Text auf Inhalt zu prüfen. Also das niemand das Scripte ausführen kann, aber komm nicht mehr drauf was das war.

Danke schon mal

HD
 
Frage 1 und 2 kannste in JS lösen, Text einlesen und mt .length prüfen. Frage 3 solltest du nicht Clientseitig lösen, sondern auf Serverseite abfangen. Belies dich doch mal nach Addslashes, und filtere alles Mögliche heraus was nen Tag darstellen könnte
 
Mit Punkt 3 meinst du, dass jemand HTML-Code eingibt => XSS ??
Das kannst du in deiner Web-Applikation filtern. Bei PHP z.B. mit htmlspecialchars
 
Zu Punkt 2: "Wie kann ich Live mitzählen ..." [gemeint ist nat. der Besucher ?]

Könnte man so realisieren:

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="de" xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<script type="text/javascript" src="script.js"></script>  

<title>JS-Area</title>

<style type="text/css">

/*<![CDATA[*/
 body      {font-family:verdana; font-size:14.2px;}
 span.wert {color:#ff0000;}
 textarea  {width:400px; border:5px dashed #92b2db; padding:6px;
            font-family:verdana; font-size:14.2px;}
/*]]>*/

</style>

</head>

<body>
<form action="javascript:void(0)">
<p>Maximal 250 Zeichen: 

<br/>
<textarea cols="40" rows="5" id="area" 
onkeyup="check_input('area', 250)"></textarea>  
<br/>
noch <span id="max" class="wert">250</span> Zeichen frei</p></form>

</body></html>
Datei script.js [selbes Verzeichnis ;-]

Code:
function check_input(id_name, max_value) {
if(document.getElementById(id_name).value.length > 
max_value)
 
document.getElementById(id_name).value = 
document.getElementById(id_name).value.substr(0, 
max_value);
 
document.getElementById('max').innerHTML = 
max_value - document.getElementById(id_name).value.length;
}
GF
 
Zuletzt bearbeitet:
@IceMatrix
Fast. ich hatte htmlentities im Hinterkopf, aber trotzdem danke... darüber bin ich dann wieder dahin gekommen. :) Auch wenn ich eigentlich dachte, das ware JS... aber PHP ist auch Ok.

@Gordon Freeman
Super, genau sowas meinte ich :)

Damit haben sich alle 3 Fragen gelöst. :)

Gruß

HD
 
Zurück
Oben