Avatar billede steenolsen1 Nybegynder
20. september 2005 - 11:50 Der er 8 kommentarer og
1 løsning

Problemer med loginscript

Hej,

Jeg roder lidt med et loginscript, og kan ikke få det til at virke efter hensigten. Det er kun den første bruger fra min db, der logger ind, mens resten melder fejl...

Scriptet:
// her ER forbundet til db
    $result = mysql_query("SELECT * FROM kc_login WHERE uname = '".md5($_POST['uname'])."'");
    if (isset($result)) {
   
        $user = @mysql_result($result,0,'uname');
        $usercode = @mysql_result($result,0,'pword');
        $ss_kundeid = @mysql_result($result,0,'ss_kundeid');
   
        if($user==md5($_POST['uname']) && $usercode==md5($_POST['pword'])) {
            $_SESSION["logged_in"] = 1;
            $_SESSION["ss_kundeid"] = $ss_kundeid;
            header("Location: index.php");
        }
        else {
    //        $wrongusr = 1;
        }
    } else {
    //    $wrongusr = 1;
    }

Hvis $wrongusr == 1 udskrives formularen til login igen, samt en fejlmelding.

Hvorfor virker det med den første record i db'en men ikke resten?
Avatar billede jakobdo Ekspert
20. september 2005 - 12:02 #1
Jeg synes du skal rette din SQL til:
SELECT * FROM kc_login WHERE uname LIKE '".md5($_POST['uname'])."' LIMIT 1
Avatar billede steenolsen1 Nybegynder
20. september 2005 - 12:31 #2
Okay - kan du forklare hvorfor :-)

Har i øvrigt fundet fejlen... Der var to brugere med samme brugernavn...
Avatar billede jakobdo Ekspert
20. september 2005 - 12:59 #3
Det er noget skidt!
Min kode trækker kun 1 bruger ud! (da det ikke bør være muligt at have flere brugere med samme navn)
Avatar billede steenolsen1 Nybegynder
20. september 2005 - 13:12 #4
Ja :-)

Det er fordi jeg har oprettet brugerne direkte i databasen, før der er sat check på om brugeren eksisterer i forvejen.

Bortset fra det - hvor sikkert vil du så vurdere mit script på en skala fra (dårligt) 1-10 (godt)?
Avatar billede jakobdo Ekspert
20. september 2005 - 13:24 #5
Det virker ok sikkert!
Især øger du sikkerheden ved at du bruger MD5 til at gemme brugernavn + kodeord.
Skulle en person så få adgang til din DB, kan de ikke bruge info til det store.
Avatar billede steenolsen1 Nybegynder
20. september 2005 - 13:31 #6
Fint nok :-)

Smid et svar, og så får du dine point...
Steen
Avatar billede jakobdo Ekspert
20. september 2005 - 13:33 #7
Svar!
Avatar billede jakobdo Ekspert
20. september 2005 - 13:39 #8
Jeg takker for point!
Avatar billede steenolsen1 Nybegynder
20. september 2005 - 13:43 #9
Selvtak :-)
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