Avatar billede tobrukDk Novice
29. april 2012 - 21:18 Der er 12 kommentarer og
1 løsning

problem med at check om password passer sammen

hej


det er sådan at jeg er næsten blevet færdig med at lave sådan at når man opret en bruger så finde den om email findes i databasen, men nu arbejder jeg også på at kunne gøre sådan at hvis adgangskode ikke er ens så skal den kun sige det og ikke andet!!

altså det vil sige ligeom at når den har check om email finde i databasen så skal den finde ude af om de begge password passer og hvis det ikke gøre det så skal kode bare stop der og sige at "password er ikke ens!!"

jeg har gøre sådan her


jeg vise bare den måde som jeg har valgt at gøre det med email og så med password function eller hvad jeg skal kalde det :D


if ($stmt = $mysqli->prepare('SELECT * FROM `brugere` WHERE `email` = ?')) { 
        $stmt->bind_param('s', $email);
        $email = $_POST['email'];
        $stmt->execute();
        $stmt->store_result();
        $count = $stmt->num_rows;
        $stmt->close();
        if ($count >= 1)
        {
            $user_found = 1;
        }
    }
    if($_POST["password"] != $_POST["gentag"])
    {
        echo "<div id=\"box\"><ul><li>De to password er ikke ens!</li></ul></div>";
        exit;
    }
Avatar billede tobrukDk Novice
29. april 2012 - 21:20 #1
når jeg skriver
exit;
så vise den ikke resten af siden altså det vil sige tingene hvor jeg viser bruger og lign.. :(
Avatar billede mireigi Novice
29. april 2012 - 21:53 #2
I stedet for at skrive HTML'en ud med det samme, kan du vel vente til alle tjek er klaret, og så først skrive den ud der, baseret på hvilke parametre er sat?

Og så lige en rettelse til dit SQL kald:
SELECT COUNT(*) FROM brugere WHERE email = ?


Det er hurtigere og du henter mindre data fra databasen :)
Avatar billede tobrukDk Novice
29. april 2012 - 21:59 #3
jeg har også fået af vide at man kan også skrive


null
Avatar billede arne_v Ekspert
29. april 2012 - 22:40 #4
Hvorfor ikke bare bruge:

SELECT id FROM brugere WHERE email = ? AND hashedpassword = ?
Avatar billede mireigi Novice
29. april 2012 - 22:44 #5
Det kan du også gøre ja. Jeg foretrækker dog den anden måde, da du så højest får ét resultat tilbage.
Avatar billede tobrukDk Novice
29. april 2012 - 22:46 #6
#5 Ja det skal jeg også kun gøre, ;)

#4 fordi det er til en opret del så skal den hurtigt find ud af om email er i databasen ;)
Avatar billede tobrukDk Novice
29. april 2012 - 23:05 #7
nu skal jeg bare have bygge op sådan at man kan ikke komme videre hvis man har indtaste to ude ens password!!

kan jeg bygge det op i php eller skal jeg gøre det i js hvad er bedste lige i det her??
Avatar billede tobrukDk Novice
29. april 2012 - 23:21 #8
Jeg har klart problem nu!! :D men ellers tak for hjælpen D:
Avatar billede mireigi Novice
29. april 2012 - 23:26 #9
Du må gerne skrive løsningen herinde, så andre kan få del i den også :)
Avatar billede tobrukDk Novice
29. april 2012 - 23:34 #10

    if ($stmt = $mysqli->prepare('SELECT NULL FROM `brugere` WHERE `email` = ?')) { 
        $stmt->bind_param('s', $email);
        $email = $_POST['email'];
        $stmt->execute();
        $stmt->store_result();
        $count = $stmt->num_rows;
        $stmt->close();
        if ($count >= 1)
        {
            $user_found = 1;
        }
    }
    if(!isset($user_found)) {
        if($user_found = $_POST["password"] != $_POST["gentag"])
        {
            echo "<div id=\"box\"><ul><li>Skrive ens password på siden..</li></ul></div>";
        }
................

og meget mere kode hvor den spørger om alt muligt om at sende email til brugere og lign,
Avatar billede arne_v Ekspert
30. april 2012 - 02:14 #11
Jeg ville bekymre mig en del over forskellige brugere med samme email adresse.

Men performance af at selecte med en where paa email vil ikke vaere en del af bekymringen.
Avatar billede arne_v Ekspert
30. april 2012 - 02:15 #12
Men min pointe var at tage hashpassword med i where, men jeg kan nu se, at password slet ikke sammenlignes i databasen, saa den pointe falder lidt paa jorden.
Avatar billede tobrukDk Novice
30. april 2012 - 10:10 #13
Hvad mener du sådan helt???
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