Ich habe ein Loginsystem. Doch jeder kann sich nur so mit dem Benutzernamen bzw. passwort einloggen, wie er es bei der Registrierung eingegeben hat (groß und kleinschreibung).
Ich möchte aber, dass Groß und Kleinschreibung egal ist. Also auch z.B. ADmIN.
musst einmal an der stelle wo das passwort generiert/ausgelesen wird und da wo er beim einloggen das passwort mit dem in der datenbank vergleicht den passwortstring umformen.
Ich würde in der Datenbank zwei Felder anlegen, eines mit dem strtoupper() Benutzernamen, und eines mit dem richtigen Benutzernamen, da viele User ihre Benutzernamen kunstvoll mit Groß/kleinschreibung gestalten. Beim überprüfen des Usernamens benutzt du dann den strtoupper() Wert des Textfeldes und vergleichst ihn mit dem strtoupper() Feld deiner Datenbank.
Nein, sowas ist eine ganz ganz schlechte Idee, man speichert in Datenbanken keine zwei Werte die auseinander abgeleitet werden können, ausser es lässt sich unter garkeinen Umständen vermeiden (was so gut wie nie der Fall ist).
Selects in mysql mit stringvergleichen sind eh fast immer case-insensitive von daher sollte das auf der Datenbankseite eh kein Problem sein; scripte lassen sich mit einem toupper oder tolower wie gesagt leicht anpassen.
Abfragen sind sowieso immer case insensitive. Das kann man mit “BINARY” ändern - aber das willst du ja nicht müsste eigentlich auch so gehen alles - passwort ist natürlich richtig dass das case sensitive ist. das hängt aber damit zusammen dass eine md5 summe mit einem kleinen buchstaben anders als mit einem großen buchstaben ist