Avatar billede devil666 Nybegynder
15. marts 2005 - 10:36 Der er 12 kommentarer og
1 løsning

problem med login

hej jeg har et lille problem med mit php script, jeg har lavet et login og når brugeren logger ind med det rigtige login så virker den perfekt, men når de ikke skriver det rigtige så skulle den meget gerne udskrive en besked men det gør den ikke... håber i kan hjælpe mig med dette problem...



<?php
include "config/db_connect.php";

$user = $_POST['username'];
$pass = md5($_POST['password']);

$sql = "select * from user where username = '".$user."' and password = '".$pass."'";
$forespg = mysql_query($sql);
while ($row = mysql_fetch_array($forespg))
{
    if ($row["id_us"] <> "")
    {
        echo "Velkommen $user du er nu logget ind";
    }
    else
    {
        echo "du er ikke logget ind";
    }
}
?>
Avatar billede hmm10 Nybegynder
15. marts 2005 - 10:41 #1
if ($row["id_us"] <> "")

til

if(mysql_num_rows($forespg) == 1)
Avatar billede Daniel.E Praktikant
15. marts 2005 - 10:43 #2
include "config/db_connect.php";

$user = $_POST['username'];
$pass = md5($_POST['password']);

$sql = "select * from user where username = '".$user."' and password = '".$pass."'";
$forespg = mysql_query($sql);


if(mysql_num_rows($forespg)!=0) {
    // logged ind
} else {
    // ikke loggede ind
}
Avatar billede Daniel.E Praktikant
15. marts 2005 - 10:44 #3
hmm10 >> Din metode er den samme som min, men det er mere korrekt at spørge på !=0 istedet for 1.

Jeg samler ikke på points.  Giv den til hmm10.
Avatar billede hmm10 Nybegynder
15. marts 2005 - 10:45 #4
vb2 >> Hvad nu hvis en bruger er oprettet flere gange i mySQL? Min tjekker om der er én oprettede, din tjekker bare om der generelt er nogle oprettede.. ;)
Avatar billede devil666 Nybegynder
15. marts 2005 - 10:48 #5
det virker ikke, det skal være sådan at når ikke nogle af tigene passer skal den udskrive else sætningen, som er det første der skal laves
Avatar billede articfruit Nybegynder
15. marts 2005 - 10:51 #6
vær lige opmærksom på at det ikke er et særlig sikkert login...

jvf. evt denne artikel selvom det er til asp... http://activedeveloper.dk/artikler/default.asp?articleid=180
Avatar billede hmm10 Nybegynder
15. marts 2005 - 10:51 #7
if(mysql_num_rows($forespg)==0) {
    // ikke loggede ind
} else {
    // loggede ind
}

Jeg forstår ikke dit problem så?
Avatar billede devil666 Nybegynder
15. marts 2005 - 10:59 #8
okay det er sådan her jeg mener det.. hvis jeg har en bruger der prøver at logge ind med det forkete usernavn + pass, så skal den udskrive du er ikke loggedt ind, ligesom hvis der er intet af det der passer så skal den ud skrive "du er ikke logget ind"
Avatar billede hmm10 Nybegynder
15. marts 2005 - 11:02 #9
Hvad siger den her, hvis du udskifter din while() ?

while ($row = mysql_fetch_array($forespg)) {
  print $row[username].'<br>';
}
Avatar billede hmm10 Nybegynder
15. marts 2005 - 11:13 #10
Hvis der kun er én ting, som du skal hente ud fra mySQL, fx. én bruger i dit tilfælde behøver man ikke at benytte while();..  se evt her:

<?

require_once('config/db_connect.php');

$user = $_POST['username'];
$pass = md5($_POST['password']);

$sql = "select * from `user` where `username` = '".$user."' and `password` = '".$pass."' LIMIT 1";
$forespg = mysql_query($sql);

    if (mysql_num_rows($forespg) == 1) {
      $forespg1 = mysql_fetch_array($forespg);
      print 'Velkommen '.$forespg1[username].' du er nu logget ind!';
    } else {
      print 'Du er ikke logget ind!';
    }

?>
Avatar billede devil666 Nybegynder
15. marts 2005 - 11:14 #11
jeg har rettet det, til det ser således ud

<?php
include "config/db_connect.php";

$user = $_POST['username'];
$pass = md5($_POST['password']);

$sql = "select * from user where username = '".$user."' and password = '".$pass."'";
$forespg = mysql_query($sql);
$row = mysql_fetch_array($forespg);

    if ($row["id_us"] != "")
    {
        echo "Velkommen $user du er nu logget ind";
    }
    else
    {
        echo "du er ikke logget ind";
    }

?>

nu virker det som jeg vil have det skal virke
Avatar billede devil666 Nybegynder
15. marts 2005 - 12:00 #12
men tak for hjælpen
Avatar billede devil666 Nybegynder
15. marts 2005 - 12:01 #13
:)
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