Loginproblem mit Groß- und Kleinschreibung

Dr Dau hat gesagt.:
An der while()-Schleife (die bei "LIMIT 1" nicht wirklich Sinn macht) liegt es jedenfalls nicht.

wie soll ich es sonst machen





also wenn ich mysql_fetch_array verwende muss ich $_SESSION['user'] = $row['nick']; verwenden, dass es mit der größ und kleinschreibung klappt.

wenn ich mysql_fetch_object verwende muss ich $_SESSION['user'] = $row->nick; verwenden, dass es mit der größ und kleinschreibung klappt.

gruß ich
 
Wenn Du mit LIMIT 1 nur einen Datensatz aus der DB holst reicht es wenn Du einfach nur einmal mit mysql_fetch_assoc(), oder in Deinem Fall mysql_fetch_object() die Daten aus dem Result-Set holst. Es macht aber nicht wirklich einen Unterschied, da Du eh pruefen solltest ob ueberhaupt was zurueckgegeben wurde damit nicht evtl. irgendein Schrott passiert. Das geschieht bei der While-Schleife automatisch, wenn nichts zurueckgegeben wurde ist direkt beim ersten Check false und es wird nichts gemacht.
Ich persoenlich bevorzuge da aber trotzdem einen kurzen Check mittels If.
 
Die Gross-/Kleinschreibung bezieht sich nur auf die Spaltennamen.

Da ich schon längst ( ;) ) das Problem mit der unterschiedlichen Gross-/Kleinschreibung im Usernamen gelöst habe, sieht mein Login nun so aus (Kurzform):
PHP:
$result = mysql_query("SELECT * FROM `user_database` WHERE `username`=BINARY('".mysql_real_escape_string($_POST['username'])."')") or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
  
if(($row['username'] == $_POST['username']) AND ($row['password'] == $_POST['password'])) {
    $_SESSION['user_id'] = $row['user_id'];
    mysql_close();
    header("Location: ".$_SERVER['PHP_SELF'].'?'.strip_tags(SID));
} else {
    echo "Falscher Benutzername und/oder falsches Passwort angegeben!";
}
Und bevor sich jemand über meine oben stehende Tabelle aufregt.....
Mein Script befindet sich in der Testphase..... später wird für das Passwort die MySQL eigene PASSWORD-Funktion genutzt und als "user_id" soll ein Hash-Wert genutzt werden (woraus dieser sich ergeben wird bin ich mir aber noch nicht ganz im klaren).
 
Zurück