Hvordan checker du brugernavn og password i MySQL for = operatoren er case sensitive.
Du kan fx bruge BINARY i din forespørgsel eller som felttype.
Min sql-query ser således ud: select * from tabel where brugernavn = '$bruger' AND kode = '$kodeord'"
Du kan i sql-sætningen skrive ordet 'binary' foran navnene på de felter i din where-del, der skal være case-sensitive. Eller du kan definere felterne i din create sætning med ordet 'binary'.
(....forudsat du bruger mysql ...)
Og data fra loginformular hentes således:
$bruger = $_POST[bruger];
$kode = $_POST[kode];
Okay, prøver lige med Binary
Jeg foretrækker at bruge BINARY efter = tegnet:
select * from tabel where brugernavn = BINARY '$bruger' AND kode = BINARY '$kodeord'"
Det virkede skisme med Binary:) Point til erik:)
@ detox
Hvad er forskellen på det du foreslog detox, og det som erik forslog?
Forskellen er nok ikke særlig stor, men ved at bruge det som jeg foreslår har MySQL mulighed for at benytte evt. index på din forespørgsel.
Okay, og hvad bruger man typisk det index til, og hvordan?
Men jeg vil anbefale at definere det i tabellen:
http://dev.mysql.com/ (...)Ingen point til mig, tak.
Det mest typiske INDEX er nok en primær nøgle, som fx et autonummereret id. Ellers kan man lave et UNIQUE INDEX på felter som skal være unikke. Derudover bruger man INDEX til at optimere forespørgsler, fx hvis man søger i mange rækker med LIKE kan MySQL bruge et INDEX som er meget hurtigere at søge i. I visse tilfælde behøver den ikke søge, men kan trække den rigtige række ud fra INDEX'et.
Du får lige et svar, da det var mig der var først med løsningen (21:35:01).