den gemmer ikke i store bogstaver fordi den jo ikke laver strBruger eller bruger om, men bare siger at den skal sammenligne dem sotre. Hvis de skulle laves om å ville der have stået
strBruger = Ucase(strBruger) kjulius eksempel er fuldt funktionsdygtigt
Du skal bare altid sammenligne enten lCase eller uCase af brugernavnene fra db'en (ligesom kjulius foreslår). Derefter kan det jo være ligemeget om dine brugere tilmelder sig med stort forbogstav eller ej....
Netop. Når du har fundet ud af, at brugeren ikke er i din database tidligere (med en SQL som den viste), laver du bare en normal INSERT operation, hvor du opretter brugeren uden konvertering (altså som brugeren har indtastet det).
Det er kun under selve tjekket du skal sørge for at begge dele er i samme "Case". F.eks.
I tabellen er brugere blevet oprettet som "Lars". Brugeren prøver at logge på med "lars". Ved at konvertere begge dele til upper-case før sammenligningen, sammenlignes "LARS" med "LARS". Du vil altså finde ud af, at brugeren var oprettet. Du vil sandsynligvis vise brugeren, sådan som han oprindelig var oprettet, altså som "Lars" (feltet fra tabellen). Det sidste er naturligvis helt op til dig.
Hvis du ikke tjekker på den måde, men har sat en unique key på det brugernavnsfelt, og bare laver en INSERT INTO, hvorefter du tjekker for en fejlmelding (en mere professionel metode, som vil kunne anvendes ved meget tidskritiske sites, hvor der er mange samtidige brugere), kan du ikke bruge den metode.
I så fald vil du evt. skulle bruge to felter. Et hvor brugernavnet altid er konverteret til upper- eller lowercase, og et felt med brugernavnet som det oprindeligt var angivet.
INSERT INTO brugere (ubruger, bruger) values(ucase("Lars"), "Lars")
Hvis det giver en fejl (fordi uppercase værdien af "Lars" allerede fandtes i tabellen), betyder det, at brugeren allerede var oprettet. Herefter kan man så hente selve brugerens oplysninger:
SELECT * FROM brugere WHERE UCase(bruger) = Ucase("Lars")
Det er altså en "omvendt" metode, som lægger tjekket i databasen, hvor der skal være et unique index på det felt, der tjekkes på. Det vil give en fejl, når man forsøger at indsætte en bruger som allerede findes. Den fejl skal man "fange" og reagere på.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.