Avatar billede adela Nybegynder
14. juni 2001 - 18:02 Der er 7 kommentarer

login-check + MySQL problemer

Jeg ved ikke, hvad der sker for mig, men det jeg laver virker på ingen måde.

Jeg har en HTML-side, hvor der er login med password og brugernavn, som skal verificeres ned imod en MySQLdatabase.

Der fremkommer ingen fejl som sådan, og det ser ud som, at MySQL DB\'en virker som det skal, for der kommer forskellige svar tilbage, hvorvidt jeg skriver det ene eller det andet.

her er mit lille script, som jeg tester på. Mit problem er, at den ikke verificerer tingene.

------------------

$dbconnect = mysql_connect(\"localhost\", \"root\", \"123456\");

$check = mysql_query (\"SELECT brugere [tabelkolonne] FROM brugere [tabelnavn] WHERE brugernavn  =  $brugernavn\");

if ($check = $brugernavn)
{ echo \"Dit brugernavn er rigtigt<BR>\"; }
else
{ echo \"Dit brugernavn er forkert<BR>\"; }

--------------

Jeg må lave en eller anden latterlig fejl, for der er to fejltyper:
1. Hvis jeg ingenting skriver, så svarer den \"brugernavn er forkert\"
2. Hvis jeg skriver et-eller-andet-ligyldig-hvad, så svarer den: \"brugernavn er rigtigt\"....

Hvad glemmer jeg?
Hvad mangler jeg?
Hvor flonker jeg igennem?
Avatar billede barlach Nybegynder
14. juni 2001 - 18:04 #1
if ($check == $brugernavn) istedet for if ($check = $brugernavn)
Avatar billede barlach Nybegynder
14. juni 2001 - 18:06 #2
normalt anbefales det at bruge strcmp() til den slags...if(strcmp($check,$brugernavn)==0){..}
Avatar billede adela Nybegynder
14. juni 2001 - 18:10 #3
Det går mig lidt bedre, nu vil den ikke se en reel bruger, så svarer den nu: \"brugernavn forkert\" :-/

Mangler jeg at angive databasenavnet, og i givet fald, hvorledes gør jeg det, så det kommer ind i den rigtige sammenhæng ?

En lille rettelse [tabelkolonnen] hedder: \"brugernavn\"
Avatar billede barlach Nybegynder
14. juni 2001 - 18:17 #4
det du får tilbage på en query er et result og ikke en string.
du skal bruge mysql_fetch_array() fro at få dit result ind i et array hvor efter du kan teste på det.
Avatar billede adela Nybegynder
14. juni 2001 - 18:23 #5
OK, og hvorledes bør man så grundliggende sætte det op, fordi først skal jeg køre en query og derefter en array, gider du ikke lige skrive syntaksen, i hvert fald i grove træk - jeg er på bar bund :-/ (?)
Avatar billede in_music Nybegynder
14. juni 2001 - 19:11 #6

    //establish connection
    if(!($dbLink = mysql_connect(\"localhost\", \"root\", \"\")))
    {
        print(\"mysql_connect failed!<BR>\\n\");
    }

    //select database
    if(!(mysql_select_db(\"DATABASENAVN\", $dbLink)))
    {
        print(\"mysql_select_db failed!<BR>\\n\");
        print(mysql_errno() . \": \");
        print(mysql_error() . \"<BR>\\n\");
    }

$bruger = mysql_query(\"select * from KOLONE where brugernavn=\\\"$brugernavn\\\"\")
  or die(\"Forkert brugernavn\");

while ($row  =  mysql_fetch_array($bruger))
  {
    $brugernavn2=$row[\"brugernavn\"];
}
if ($brugernavn == \"$brugernavn2\"){
echo \"Rigtigt brugernavn\";
}
else {
echo \"Forkert brugernavn\";
}
Avatar billede in_music Nybegynder
14. juni 2001 - 19:12 #7
DET VIRKER (HAR IKKE TJEKKET MEN BURDE)
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