Avatar billede Xelot Nybegynder
29. september 2007 - 15:49 Der er 8 kommentarer og
1 løsning

Forskel på store og små bogstaver

Hey.. jeg er ved at lave et loginscript der skal kunne checke i MySql om et brugernavn og password er korrekt, og derefter byde brugeren velkommen med brugerens rigtige navn.

Men har jeg gemt brugerens navn som "bruger" i Mysql, så lystrer den ikke når man skriver "BrUgEr" sjovt nok ikke :)

Men hvordan får jeg lavet det sådan så uanset hvad der er gemt i Mysql, så finder den det selvom det er stavet med forskellig størrelse bogstaver ?

Koden er som følger:

<?
//$user=brugernavn hentet ud fra MySql
//$password=Kodeord hentet ud fra Mysql
//$formuser=Brugerens input
//$pass=brugerens input


if(($password=$pass)&&($formuser=$user)){
$loggedin="y";

$query=mysql_query("SELECT realname FROM znupBudget_$user WHERE user='$user'");
while($data=mysql_fetch_array($query)){
$realname=$data[0];
echo Velkommen tilbage<br> <b><i>$data[0]</i></b><br>";
echo "<a href=\"index.php\">Log af</a>";
}

}
else
{
?>
HTML FORMULAR
<?
}
?>
Avatar billede erikjacobsen Ekspert
29. september 2007 - 15:54 #1
http://php.net/strtolower er en god een at kende. Men det er jo helt forkert i forvejen:

if(($password=$pass)&&($formuser=$user)){

skal vel i første omgang være

if(($password==$pass)&&($formuser==$user)){
Avatar billede Xelot Nybegynder
29. september 2007 - 16:03 #2
Lige mine ord med hensyn til '==' men det vil den ikke æde.. det fungede først da jeg i frustration fjernede det ene lighedstegn..
Avatar billede erikjacobsen Ekspert
29. september 2007 - 16:06 #3
Det er så muligt, men det er helt forkert med "=". Hvor kommer de 4 variabler fra?
Avatar billede Xelot Nybegynder
29. september 2007 - 16:15 #4
De kommer længere oppe i mit script.. det er blot et udpluk.. :) Men du har løst mine problemer, så jeg vil gerne give dig point hvis du vil svare..
Avatar billede erikjacobsen Ekspert
29. september 2007 - 16:15 #5
Jeg samler slet ikke på point, tak. Svar selv, accepter eget svar.

Og vis os helst, hvad du nåede frem til, så andre kan lære af det ;)
Avatar billede Xelot Nybegynder
29. september 2007 - 16:23 #6
Nåh ja, hader faktisk når der ikke står resultater på spørgsmålene.. Jeg har fundet ud af følgende..:

'Strtolower' laver en variabels indhold til små bogstaver uanset hvordan det er skrevet.Derved udleder jeg at $formuser=strtolower($formuser); giver mig brugerens indtastning i små bogstaver.

Hvis jeg så, når brugeren opretter sig sætter strtolower ind FØR jeg sender brugernavnet til mysql, så får jeg alle brugernavne i små bogstaver i min database.

Når jeg så 'omkoder' brugerens indtastning i login til små bogstaver, vil den straks finde brugernavnet i databasen..

Tak for hjælpen erikjacobsen !!
Avatar billede showsource Seniormester
29. september 2007 - 16:33 #7
I min DB er brugernavn og email sat til UNIQUE
Og om jeg bruger stor eller små for brugernavn, er et fedt.
Og det er på både windåze og UNIX
Avatar billede showsource Seniormester
29. september 2007 - 16:37 #8
Og min tjek i db er:

  $sql_str = "SELECT `aktiv` 
              FROM `brugere` 
              WHERE 
              `username` = ". safe_query($_POST["user"]) ." 
              AND 
              `passw` =  ". safe_query($_POST["md5_pass"]) ." 
              AND 
              `aktiv` != 0";

safe_query() er.

function safe_query($value)
{
    $value = trim($value);

    if (get_magic_quotes_gpc()) {
        $value = stripslashes($value);
    }

    if (!is_numeric($value)) {
        $value = "'" . mysql_real_escape_string($value) . "'";
    }

    return $value;
}
Avatar billede Xelot Nybegynder
29. september 2007 - 16:40 #9
Tak for din åbenhed showsource !! Men holder mig til den simple PHP :D
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester