Case Sensitive Formulareingaben

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Alderan
Mitglied
Beiträge: 19
Registriert: 23.06.2003 19:38
Wohnort: Altdrof
Kontaktdaten:

Case Sensitive Formulareingaben

Beitrag von Alderan »

Hallo!

Ich habe ein kleines Problem mit einer Passwortabfrage unter PHP. Ich habe eine Mysql - Datenbank und die Eingaben aus einem Html Formular

Als erstes verbinde ich mit der Datenbank und wähle den Datensatz des angegebenen Usernamens an:

Code: Alles auswählen

mysql_connect($sqlhost,$sqluser,$sqlpass);
mysql_select_db($dbase);
$sql=("select * from db WHERE name='$HTTP_POST_VARS[username]");
$result=mysql_query($sql);
IF(@$zeile=mysql_fetch_array($result)){;}
else{echo"$text Ein Fehler ist aufgetreten ($_SERVER[SCRIPT_FILENAME])!!$texte";exit;};
Dann vergleiche ich die Passwörter:

Code: Alles auswählen

IF($HTTP_POST_VARS!=$zeile[pass]) die("$text dein Passwort ist Fehlerhaft $texte");
Das funktioniert alles fast Fehlerfrei bis darauf, dass der Username nicht Case Sensitiv behandelt wird :evil:!! In einem Späteren Skript muss ich dann den Eingegebenen Usernamen mit dem Aus der Tabelle vergleichen, das mache ich mit PHP, doch dann wird er wieder Case Sensitiv behandelt und ich kann nicht mehr Fehlerfrei vergleichen!!!!! Wie kann ich erzwingen das mysql diesen Namen Case Sensitiv behandelt??? Oder kann ich PHP zwingen ihn nicht Case Sensitiv zu bahandeln?? :o

Ich bin absolut ratlos
Benutzeravatar
King Crusty
Mitglied
Beiträge: 209
Registriert: 20.04.2002 11:58
Wohnort: Deggendorf - Altötting
Kontaktdaten:

Beitrag von King Crusty »

Mit strcasecmp kannst du 2 Zeichenketten vergleichen, dabei wird nicht unterschieden ob groß oder klein geschrieben.


Eine andere Möglichkeit wäre deine beiden Vergleichsvariablen jeweils
umzuwandeln und dann erst zu vergleichen...

strtolower() - Wandelt eine Zeichenkette in Kleinbuchstaben um
strtoupper() - Wandelt eine Zeichenkette in Großbuchstaben um
Antworten

Zurück zu „Coding & Technik“