[PHP / MYSQL]zeichenlänge prüfen

VIPbanner_de

www.VIPbanner.de
ID: 72674
L
1 Mai 2006
2.598
150
Hi,

ich würde gerne was schreiben:

Der User macht einen Eintrag in ein Formular. Die Daten werden gesendet und wie gewohnt in eine DB geschrieben. Bis dahin kein Problem.. nur möchte ich vorher prüfen das der gesendete Wert mind. aus 3 Zeichen und maximal aus 15 Zeichen besteht. Wenn diese kriterien erfüllt sind soll die DB geschreiben werden.. wenn nicht dann soll eine Fehlermeldung kommen. Wer kann helfen?
 
bevor du die query an die Datenbank schickst, überprüfe mit

strlen($string) die Länge der eingegebenen Zeichenkette. Wenn sie kleiner 3 und größer 15 ist, gibst du eine fehlermeldung aus, sonst schickst du die query ab.

PHP:
if (strlen($str) > 3 and strlen($str) < 16):

//Query abschicken

else:

echo "Bitte geben Sie mindestens 3 und höchstens 15 Zeichen ein!";

endif;
natürlich kannst du auch schon das eingabefeld auf 15 Zeichen begrenzen, so kann man erst gar nicht mehr eingeben.
 
super klappt einwandfrei!

Jetzt noch 2 sachen:

1. Es sollen nur buchstaben und zahlen zulässig sein und keine sonderzeichen und leerzeichen.

2. User können ihren usernamen ändern, allerdings müsste ich noch prüfen ob der username bereits vergeben ist.. wie mache ich das am schlausten? Da gibts ja unterschiedliche möglichkeiten.. die einen lesen die db aus und wenn result =0 ist dann darf geschrieben werden.. wobei die variante gefällt mir nicht so.. hat jemand was besseres?
 
super klappt einwandfrei!
1. Es sollen nur buchstaben und zahlen zulässig sein und keine sonderzeichen und leerzeichen.
das geht mit preg_match() und regulären ausdrücken.

2. User können ihren usernamen ändern, allerdings müsste ich noch prüfen ob der username bereits vergeben ist.. wie mache ich das am schlausten? Da gibts ja unterschiedliche möglichkeiten.. die einen lesen die db aus und wenn result =0 ist dann darf geschrieben werden.. wobei die variante gefällt mir nicht so.. hat jemand was besseres?
wenn sie den usernamen ändern können, solltest du auf jedenfall jedem user eine id verpassen, und an sämtlichen stellen in deinem script auch nach der id gehen. aber das nur nebenbei.
es ist meines wissens nach die beste möglichkeit, mit COUNT(username) WHERE username='?' zu suchen. wie sollte es auch anders gehen?
und warum gefällt dir diese methode nicht?
 
das geht mit preg_match() und regulären ausdrücken.


wenn sie den usernamen ändern können, solltest du auf jedenfall jedem user eine id verpassen, und an sämtlichen stellen in deinem script auch nach der id gehen. aber das nur nebenbei.
es ist meines wissens nach die beste möglichkeit, mit COUNT(username) WHERE username='?' zu suchen. wie sollte es auch anders gehen?
und warum gefällt dir diese methode nicht?

user haben alle eine ID.. der Username ist zusätzlich . okay dann werde ich das wohl so machen müssen