[PHP/MySQL] Noobvraag login script :o

Pagina: 1
Acties:
  • 139 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

  • shorty
  • Registratie: Juli 2000
  • Laatst online: 06-11-2024

shorty

tralalalala!

Topicstarter
Ik heb de volgende code:

Dit bestand heet index.html

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<HTML>

<?
setcookie("username", $username, time() + 31536000);
setcookie("password", $password, time() + 31536000);
?>

<HTML>

<body>

<table border="0" cellpadding="0" cellspacing="2">
<form name="login" action="login.php" method="post">
<tr>
<td>Nick :</td>
<td><input type="text" name="username" size="12" maxlength="25" class="feedbackentry"></td>
</tr>
<tr>
<td>Pass :</td>
<td><input type="password" name="password" size="12" maxlength="25"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="login"></td>
</tr>
</form>
</table>
</BODY>
</HTML>


Nu heb ik het volgende php bestand welke login.php heet:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?
mysql_connect("172.16.100.8","root");
mysql_select_db("mydb");
$result = mysql_query("SELECT id FROM users WHERE username='$username' AND password='$password'");
if(mysql_num_rows($result)==1) 
{
echo "login succesfull<br>";
echo "cookies are set<br>";
}
else 
{
echo "Wrong username / password<br>";
echo "Cookies are set, but they won't help you get in...<br>";
}
?>

<? 
if(!isset($username)) //dus als er geen username is ingevoerd 
{
echo "jonge, je bent hier op de verkeerde manier gekomen";
}
else //als dat WEL is gedaan...
{
//even controleren of de user bestaat
$result = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
if(mysql_num_rows($result)==1) 
{
// aha, hij bestaat, ff begroeten...
echo "welcome $username<br>";

//nu de level van de user checken
if(mysql_result($result,"0","level") == 2)
{
echo "hello admin !";
}
else if(mysql_result($result,"0","level") == 1)
{
echo "hello level 1 dude !";
}
else if(mysql_result($result,"0","level") == 0)
{
echo "hello dude level 0!";
}
//genoeg levels gechecked
//je kan er natuurlijk naar hartelust bijvoegen... 
}

//stel nu : username+password zijn ingegeven maar kloppen niet !
else 
{
echo "Wrong username / password<br>";
}
}

?>


De code is van een tutorial op internet gepakt. Als ik nu naar http://ip/index.html ga, kan ik gewoon een username/passwd invoeren. Als ik nu op submit klik krijg ik de volgende foutmeldingen:

code:
1
2
3
4
5
6
Notice: Undefined variable: username in D:\test_site\login2\login.php on line 4

Notice: Undefined variable: password in D:\test_site\login2\login.php on line 4
Wrong username / password
Cookies are set, but they won't help you get in...
jonge, je bent hier op de verkeerde manier gekomen


Ik weet dat het waarschijnlijk een domme vraag is, maar ik zie echt niet wat ik fout doe. Ook met de search kwam ik er niet uit. Alvast bedankt!

Hier kwam de tutorial vandaan btw: http://www.pwfaq.be/viewtut.php?c=php&nummer=16

[ Voor 19% gewijzigd door shorty op 16-09-2003 16:22 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 24-10 14:26

gorgi_19

Kruimeltjes zijn weer op :9

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • shorty
  • Registratie: Juli 2000
  • Laatst online: 06-11-2024

shorty

tralalalala!

Topicstarter
Bedankt!

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
mysql_connect("172.16.100.8","root");
mysql_select_db("mydb");
$result = mysql_query("SELECT id FROM users WHERE username='$_GET [ 'username' ] AND password='$_GET [ 'password' ]");
if(mysql_num_rows($result)==1) 
{
echo "login succesfull<br>";
echo "cookies are set<br>";
}
else 
{
echo "Wrong username / password<br>";
echo "Cookies are set, but they won't help you get in...<br>";
}
?>


Heb ik nu zo veranderd. Heb nu alleen de volgende fout:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\test_site\login2\login.php on line 5

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 26-10 16:14
Damn, denk eens na wat staat er nu precies: juist ja, het is geen geldige sesultaatset van mysql. Wat ga je daaraan doen? Je gaat het query eerst eens echo'n, zodat je de fout misschien wel ziet. Kijk ook eens naar de functie mysql_error:
PHP:
1
$result=mysql_query($sql) or die(mysql_error());

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:04
Basic, foutmeldingen interpreteren, debuggen.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.