22. september 2006 - 22:49Der er
5 kommentarer og 1 løsning
hjælp til online liste
Hej eksperter jeg har i mit login script lavet det sådan at den skal indsætte navn og id i en online liste. Men jeg kan ikke få det til at virke. håber i vil hjælpe mig...
$sql = mysql_query("select id, user, pass, navn from bruger where user = '$user' AND pass = '$pass'"); if(mysql_num_rows($sql) == 1){ while($row = mysql_fetch_row($sql)){
Dvs. at den indsætter korrekt, uden fejlmeddelse. Så burde det være fordi at values ikke er sat korrekt. Kunne det tænkes at $user og $pass skal sættes korrekt, via noget GET/POST og at der nu er en "tom" bruger oprettet, som snyder din mysql_num_rows() og mysql_fetch_row() og derved giver tomme værdier til din INSERT?
1) Slet alle brugere ("poster") i databasen, som hverken har et brugernavn og/eller kodeord.
2) Udskift variablerne $user med $_POST['user'] og ligeledes $pass med $_POST['pass'] - tjek om der kun er én bruger oprettet med disse samme oplysninger. Og for sikkerhedens skyld burde du md5() kryptere kodeordet (HUSK at det også skal md5()'s i databasen).
$sql = mysql_query("select id, user, pass, navn from bruger where user = '$user' AND pass = '$pass'"); - til - $sql = mysql_query("select `id`, `user`, `pass`, `navn` from `bruger` where `user` = '".$_POST['user']."' AND `pass` = '".md5($_POST['pass'])."' LIMIT 0,1");
3) For en god ordens skyld burde du tjekke om brugeren har indtastet brugernavnet og kodeordet.
4) Du er sikkert i udviklingsfasen og prøver dig frem stille og roligt, men du burde overveje, hvordan du fjerner den oprettede "online post" i databasen, når brugeren ikke er online mere. For det er ikke altid at en bruger er flink og trykker "LOGUD", men bare lukker browseren eller surfer videre. MEN det har du sikkert haft i dine overvejelser :)
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.