Ik heb al eens een inlogsysteem gemaakt alleen dan met gewone mysql querys ipv prepare statements.
Het inloggen werkt niet en hij blijft haken bij de laatste controle, controleren of het wachtwoord klopt. De gebruiksnaam controleren of die bestaat werkt prima. Maar nu het wachtwoord nog.
Hieronder volgt de code.
Ik heb al vanalles geprobeerd maar niets heeft gewerkt.
Hij geeft trouwens "Fout 2" aan
En een voorbeeldje is hier.
Alvast bedankt voor het helpen
Het inloggen werkt niet en hij blijft haken bij de laatste controle, controleren of het wachtwoord klopt. De gebruiksnaam controleren of die bestaat werkt prima. Maar nu het wachtwoord nog.
Hieronder volgt de 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
| <?php include("config.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Inloggen</title> </head> <body> <?php if(isset($_POST['inloggen'])) { $gebruiksnaam = $_POST['gebruiksnaam']; $wachtwoord = $_POST['wachtwoord']; $wachtwoord2 = md5($wachtwoord); if(strlen($gebruiksnaam) == 0) { $mess = array("Je hebt geen gebruiksnaam ingevuld."); } elseif(strlen($wachtwoord) == 0) { $mess = array("Je hebt geen wachtwoord ingevuld."); } else { $sql = "SELECT gebruiksnaam FROM gebruiker WHERE gebruiksnaam=?"; if($stmt = $mysqli->prepare($sql)) { $stmt->bind_param('s', $gebruiksnaam); if(!$stmt->execute()) { $mess = 'Error 1'; } else { $stmt->store_result(); $stmt->bind_result($gebruiksnaam); if($stmt->num_rows != 1) { $mess = array("Fout"); } else { $stmt->close(); // Hier begint de 2de check, waar het fout gaat dus $sql = "SELECT gebruiksnaam FROM gebruiker WHERE wachtwoord=?"; if($stmt = $mysqli->prepare($sql)) { $stmt->bind_param('s', $wachtwoord2); if(!$stmt->execute()) { $mess = 'Error 2'; } else { $stmt->store_result(); $stmt->bind_result($wachtwoord2); if($stmt->num_rows != 1) { $mess = array("Fout2"); } else { $mess = array("Goed"); } } } } } } } } if(isset($mess)) { foreach ($mess as $string) { echo '<strong>' . $string . '</strong><br /><br />'; } } ?> <form method="post"> Gebruiksnaam<br /> <input type="text" name="gebruiksnaam" /><br /><br /> Wachtwoord<br /> <input type="password" name="wachtwoord" /><br /><br /> <input type="submit" name="inloggen" value="Login" /> </form> </body> </html> |
Ik heb al vanalles geprobeerd maar niets heeft gewerkt.
Hij geeft trouwens "Fout 2" aan
En een voorbeeldje is hier.
Alvast bedankt voor het helpen