31. marts 2003 - 20:43Der er
21 kommentarer og 1 løsning
a eller A ?
Hey !
Jeg har et lille problem, som jeg ikke selv helt kan huske løsningen på.
Jeg har lavet et logind-system, og mener at det burde være ligegyldigt om brugeren skriver med store eller små bokstaver i brugernavn-feltet. Men når jeg i min MySQL tjekker om brugeren findes (brugernavnet i MySQL'en er f.eks. frande og brugernavnet brugeren indtastede i feltet er f.eks. FraNdE) så skriver den at brugernavnet ikke kan findes.
Hvordan får jeg min MySQL opkald til at hente brugernavnet og være ligeglad med om det er store eller små bokstaver?
En lille kode f.eks.:
<phpkode> require("mysql.php");
$res_logind = mysql_query("SELECT brugernavn FROM brugere WHERE brugernavn='$brugernavn'"); $db_logind = mysql_fetch_array($res_logind);
soreno: Dette har jeg brugt før - men da det er til en del af et community ønsker brugere at have en lille blanding af store og små bokstaver. Dette vil jeg også gøre muligt - og kan ikke se et direkte problem.
Derved kunne brugernavnet i MySQL'en f.eks. også være FrAndE og brugerens input i logind være frande.
Størrelsen på bokstaverne skal være total ligegyldig.
Jeg har fundet ud af at det er pga. min IF-sætning - omkring ($brugernavn != $db_logind[brugernavn])
Hvordan laver jeg sådan min IF-sætning er ligeglad med om det er a eller A ? Mener jeg man kan - men kan ikke finde noget om if-sætninger på php.net :(
Men vil gerne hører om det _kan_ løses på andre måder - eller om I kan give mig et link til php.net hvor man kan læse om if-sætningerne og dens tegn-sætning (!= , == , > , < , osv.)
SELECT brugernavn FROM brugere WHERE lower(brugernavn) = lower('$brugernavn')
og så bare have det "rigtige" navn i databasen. Altså det med store og små bogstaver?? Så kan du jo printe det rigtige ud og aligevel tjekke for et "forkert"..
forstår ikke lige hvad det er du skriver.. Men jeg kan nu godt få det til at virke.. Nu tjekker den bare hvor brugernavn i databasen er med små, og det samme med brugernavn i variablen..
men ok.. du gidder åbenbart ikke give det et forsøg og tjekke om det virker.. eller?? Jeg er også lige glad.. ville bare hjælpe med en lidt kortere version hvis det nu endelig var..
nicklasb: Jeg føler det at du tager det som en fornærmelse at jeg ikke prøver dit. Dit forslag er ikke hurtigere end de andres, forskellen ligger i hvor jeg placerer mit lower().
Men jeg har fundet løsning og takker stadig for alle løsningsforslag !
nej nej.. er skam slet ikke fornærmet.. :D Syntes nu bare den var en smule kortere, og lettere end dem de andre er kommet med, og fatter i sådanne tilfælde at man ikke bare tager imod..
nicklasb: Hehe, jeg sagde tak for forslaget - ikke at det ikke kunne bruges. Men jeg har jo forklaret at det andet var ligeså let for mig ;)
Men tak for dit forslag.
| frande
Synes godt om
Ny brugerNybegynder
Din løsning...
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.