Avatar billede Slettet bruger
10. juli 2004 - 23:28 Der er 8 kommentarer og
1 løsning

Problemer med md5 kryptering

Dette er et uddrag fra min logincheck:

$query = mysql_query("SELECT * FROM medlemmer WHERE nick='$navn'") or die(mysql_error());   
   
    if(mysql_num_rows($query) == 0)
        {
        $content = "Tryk <a href=\"login.php?mode=opret\">her</a> for at oprette en bruger";
        $alert = "<body onload=\"alert('Brugeren $navn eksisterer ikke i vores database.');\">";
        $login = 1;
        }
    else
        {
       
        $row = mysql_fetch_array($query);
        $password = md5($password);
       
        if($row['password'] != $password)
            {
        $alert = "<body onload=\"alert('Det indtastedet password $password for brugeren $navn var forkert.');\">";

$password er password <input> feltet

$navn er nick <input> feltet

mit problem er, at hver gang jeg går derind og logger mig ind, bliver der med alertboksen udskrevet en ny kode, altså er det ikke $password der bliver krypteret
Avatar billede hmmhelpinghmm Nybegynder
10. juli 2004 - 23:35 #1
du har ikke angivet hvad $password er før krypteringen!
Avatar billede erikjacobsen Ekspert
10. juli 2004 - 23:35 #2
Det ser jo rigtigt nok ud, men du kan med fordel:

else
    {
     
  $row = mysql_fetch_array($query);
  $password5 = md5($password);
     
  if($row['password'] != $password5)
  {
  $alert = "<body onload=\"alert('Det indtastedet password $password for brugeren $navn var forkert.');\">";
  ......

Men hvad står der konkret i feltet `password` i tabellen?
Avatar billede hmmhelpinghmm Nybegynder
10. juli 2004 - 23:36 #3
nå ja læste ik det hele, det er input feltet,!
Avatar billede Slettet bruger
11. juli 2004 - 11:46 #4
jeg har et ret langt script, men vi prøver

$title = "Login";
   
    $query = mysql_query("SELECT * FROM medlemmer WHERE nick='$navn'") or die(mysql_error());   
   
    if(mysql_num_rows($query) == 0)
        {
        $content = "Tryk <a href=\"login.php?mode=opret\">her</a> for at oprette en bruger";
        $alert = "<body onload=\"alert('Brugeren $navn eksisterer ikke i vores database.');\">";
        $login = 1;
        }
    else
        {
       
        $row = mysql_fetch_array($query);
        $password = md5($password);
       
        if($row['password'] != $password)
            {
        $alert = "<body onload=\"alert('Det indtastedet password $password for brugeren $navn var forkert.');\">";
        $login = 1;
            }
        else
            {
            //Hvis man blev logget ind
            session_register(brugerid);
            $brugerid = $row['id'];
            session_register(brugernavn);
            $brugernavn = ucwords($navn);
        $alert = "<body onload=\"alert('Du er nu logget ind som: $navn.');\">";
        $login = 1;
            }
        }

det er alt hvad jeg har under check password...
jeg har 2 input felter: 'navn' og 'password'
Avatar billede Slettet bruger
11. juli 2004 - 11:47 #5
det virker når jeg bruger dit eric. Jeg kan ikke se hvad den store forskel er, men tak alligevel ^^

smid et svar
Avatar billede erikjacobsen Ekspert
11. juli 2004 - 12:55 #6
Du overskriver $password med
  $password = md5($password);
men jeg kan heller ikke helt se hvorfor det så virker nu.

Men ingen point til mig, tak, jeg samler slet ikke på dem.
Avatar billede Slettet bruger
11. juli 2004 - 13:25 #7
hmm jeg vil nu godt give point for et rigtigt svar...

Jeg forstår godt hvad ændringen var, men ikke hvorfor det ikke virkede før!
Avatar billede erikjacobsen Ekspert
11. juli 2004 - 13:35 #8
Men ingen point til mig, tak, jeg samler slet ikke på dem.
Avatar billede Slettet bruger
12. juli 2004 - 21:34 #9
ok så ^^
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