Beginnend login form
Als ik de foute gegevens intyp wil ik een response dat de gegevens onjuist zijn maar hij geeft altijd gegevens juist terug. Wat doe ik fout?
Code (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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
connect("localhost","root","","login");
checkLogin("admin","123");
function connect($host, $username, $password, $database)
{
mysql_connect($host, $username, $password) or die("Kan de server niet benaderen!!");
mysql_select_db($database)or die("Kan database niet vinden!!");
}
function checkLogin($username, $password)
{
$query = "SELECT * FROM gebruikers WHERE username = '$username' and password = '$password'";
$result = mysql_query($query);
$grootte = mysql_num_rows($result);
if ($grootte >0)
{
echo "Gegevens Juist!";
} else {
echo "Gegevens Onjuist!";
}
}
?>
connect("localhost","root","","login");
checkLogin("admin","123");
function connect($host, $username, $password, $database)
{
mysql_connect($host, $username, $password) or die("Kan de server niet benaderen!!");
mysql_select_db($database)or die("Kan database niet vinden!!");
}
function checkLogin($username, $password)
{
$query = "SELECT * FROM gebruikers WHERE username = '$username' and password = '$password'";
$result = mysql_query($query);
$grootte = mysql_num_rows($result);
if ($grootte >0)
{
echo "Gegevens Juist!";
} else {
echo "Gegevens Onjuist!";
}
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function checkLogin($username, $password)
{
$query = "SELECT * FROM gebruikers WHERE username = '".$username."' AND password = '".$password."'";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1)
{
echo "Gegevens juist";
return true;
}
else
{
echo "Gegevens onjuist";
return false;
}
}
{
$query = "SELECT * FROM gebruikers WHERE username = '".$username."' AND password = '".$password."'";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1)
{
echo "Gegevens juist";
return true;
}
else
{
echo "Gegevens onjuist";
return false;
}
}
Gewijzigd op 23/10/2012 13:47:01 door Roy B
Code (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
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
<?php
connect("localhost","root","","login");
if(isset($_POST['username']))checkLogin($_POST['username'],$_POST['password']);
function connect($host, $username, $password, $database)
{
mysql_connect($host, $username, $password) or die("Kan de server niet benaderen!!");
mysql_select_db($database)or die("Kan database niet vinden!!");
}
function checkLogin($username, $password)
{
$query = "SELECT * FROM gebruikers WHERE username = '".$username."' AND password = '".$password."'";
$result = mysql_query($query);
if(mysql_num_rows($result) >0)
{
echo "Gegevens juist";
return true;
}
else
{
echo "Gegevens onjuist";
return false;
}
}
?>
connect("localhost","root","","login");
if(isset($_POST['username']))checkLogin($_POST['username'],$_POST['password']);
function connect($host, $username, $password, $database)
{
mysql_connect($host, $username, $password) or die("Kan de server niet benaderen!!");
mysql_select_db($database)or die("Kan database niet vinden!!");
}
function checkLogin($username, $password)
{
$query = "SELECT * FROM gebruikers WHERE username = '".$username."' AND password = '".$password."'";
$result = mysql_query($query);
if(mysql_num_rows($result) >0)
{
echo "Gegevens juist";
return true;
}
else
{
echo "Gegevens onjuist";
return false;
}
}
?>
Je controleert / beveiligd nergens de $_POST waarden --> scrip is lek/onveilig.
Het wachtwoord wordt onversleuteld opgeslagen?!
Je controleert nergens of de query is geslaagd; bouw goede foutafhandeling in (geen 'or die' aub).
Je controleert op meer dan 0 rijen. De query kan naar mijn idee twee resultaten hebben: 0 of 1.
Controleer daarom er 1 gevonden is --> elke andere uitkosmt betekent gegevens onjuist.
hier dus een voorbeeldje:
Code (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
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
<?php
connect("localhost","root","","login");
if(isset($_POST['username']))checkLogin($_POST['username'],$_POST['password']);
function connect($host, $username, $password, $database)
{
mysql_connect($host, $username, $password) or die("Kan de server niet benaderen!!");
mysql_select_db($database)or die("Kan database niet vinden!!");
}
function checkLogin($username, $password)
{
$query = sprintf(("SELECT * FROM gebruikers WHERE username = '%s' AND password = '%s'",
mysql_real_escape_string($username),
mysql_real_escape_string($password)
));
$result = mysql_query($query);// mysql_query geeft 1 (true) terug als hij gelukt is of 0 (false) als hij mislukt is
//controleren of de query gelukt is:
if($result){
//query gelukt
if(mysql_num_rows($result) == 1)
{
echo "Gegevens juist";
return true;
}
else
{
echo "Gegevens onjuist";
return false;
}
} else {
echo "Query mislukt";
return false;
}
}
?>
connect("localhost","root","","login");
if(isset($_POST['username']))checkLogin($_POST['username'],$_POST['password']);
function connect($host, $username, $password, $database)
{
mysql_connect($host, $username, $password) or die("Kan de server niet benaderen!!");
mysql_select_db($database)or die("Kan database niet vinden!!");
}
function checkLogin($username, $password)
{
$query = sprintf(("SELECT * FROM gebruikers WHERE username = '%s' AND password = '%s'",
mysql_real_escape_string($username),
mysql_real_escape_string($password)
));
$result = mysql_query($query);// mysql_query geeft 1 (true) terug als hij gelukt is of 0 (false) als hij mislukt is
//controleren of de query gelukt is:
if($result){
//query gelukt
if(mysql_num_rows($result) == 1)
{
echo "Gegevens juist";
return true;
}
else
{
echo "Gegevens onjuist";
return false;
}
} else {
echo "Query mislukt";
return false;
}
}
?>
Gewijzigd op 23/10/2012 18:32:42 door Andy V
Andy wat bedoel je precies met sprintf en mysql_real_escape_string?Hier had ik eerlijk gezegd nog nooit van gehoord.
Bedankt in ieder geval