php login script
het formulier heeft een <input type="password" en ik denk dat het daar fout gaat
want als je het gewoon invoegt in de database met bijv. phpmyadmin als text dan werkt het wel
ik zal het script posten:
login.php
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
<html>
<head>
<title>login</title>
</head>
<?php include "bestanden/style.css"; ?>
<body class="pagina">
<div align="center" class="pagina">
<h1>Inloggen:</h1>
<form method="POST" action="controle.php">
Gebruikersnaam: <br/><input type="text" name="gebr" size="20" maxlength="30"><br>
Wachtwoord: <br/><input type="password" name="ww" size="20" maxlength="6"><br>
<input type="submit" name="submit" value="login">
</form>
</div>
</body>
</html>
<head>
<title>login</title>
</head>
<?php include "bestanden/style.css"; ?>
<body class="pagina">
<div align="center" class="pagina">
<h1>Inloggen:</h1>
<form method="POST" action="controle.php">
Gebruikersnaam: <br/><input type="text" name="gebr" size="20" maxlength="30"><br>
Wachtwoord: <br/><input type="password" name="ww" size="20" maxlength="6"><br>
<input type="submit" name="submit" value="login">
</form>
</div>
</body>
</html>
controle.php:
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
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
<?php
session_start();
include "bestanden/config.php";
$gebruiker=$_POST['gebr'];
$ww=$_POST['ww'];
$query="SELECT * FROM User WHERE gebruiker='".$gebruiker."'";
$result=mysql_query($query);
$fetch=mysql_fetch_array($result);
?>
<html>
<head>
<title>login</title>
</head>
<body>
<?php
if ($fetch['ww'] == $ww) {
echo "je bent ingelogd";
$_SESSION['gebruiker'] = $gebruiker ;
$_SESSION['ww'] = $ww ;
} else {
echo "het gaat fout";
echo "<a href=\"login.php\">probeer het nogmaals</a>";
}
?>
</body>
</html>
session_start();
include "bestanden/config.php";
$gebruiker=$_POST['gebr'];
$ww=$_POST['ww'];
$query="SELECT * FROM User WHERE gebruiker='".$gebruiker."'";
$result=mysql_query($query);
$fetch=mysql_fetch_array($result);
?>
<html>
<head>
<title>login</title>
</head>
<body>
<?php
if ($fetch['ww'] == $ww) {
echo "je bent ingelogd";
$_SESSION['gebruiker'] = $gebruiker ;
$_SESSION['ww'] = $ww ;
} else {
echo "het gaat fout";
echo "<a href=\"login.php\">probeer het nogmaals</a>";
}
?>
</body>
</html>
register.php(enige die ik niet zelf getypt heb maar van deze site en vervolgens aangepast)
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
95
96
97
98
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
95
96
97
98
<html>
<head>
<title>registreren</title>
</head>
<?php
include "bestanden/style.css";
?>
<body class="pagina">
<center>
<?php
session_start();
if($_SESSION['gebruiker'] == "true"){
print " je hebt al een account.";
}
include('bestanden/config.php');
if(!isset($_REQUEST['submit'])){
?>
<h1>registreer account:</h1>
<form method="post" acion=""<? $_SERVER['PHP_SELF'] ?>"">
<table>
<tr>
<td>
Gebruikersnaam:
</td>
<td>
<input type="text" name="name" maxlength="15">
</td>
</tr>
<tr>
<td>
Password:
</td>
<td>
<input type="password" name="pass1">
</td>
</tr>
<tr>
<td>
Bevestig:
</td>
<td>
<input type="password" name="pass2">
</td>
</tr>
<tr>
<td align="right">
<input type="submit" value="registreer" name="submit">
</td>
<td>
<input type="reset" value="reset">
</td>
</tr>
</table>
</form>
<?php
}else{
$dead = "false";
$message = "vul aub alle velden correct in:<br>";
$username = $_POST['name'];
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];
$ip = $_SERVER['REMOTE_ADDR'];
$status = "1";
if(strlen($username) <= 1 or strlen($username) >=15){
$dead = "true";
$message .= "de gebruikersnaam moet tussen (2-14) aantal karakters zijn<br>";
}
if(strlen($pass1) < 6 or strlen($pass1) > 20 or $pass1 !== $pass2) {
$dead = "true";
$message .= "Password heeft geen (6-20) karakters of password komt niet overeen met bevestig pasword";
}
if($dead = "false"){
$username = strtolower(trim(strip_tags($username)));
$pass1 = trim($pass1);
$pass1 = md5($pass1);
$query = mysql_query("SELECT * FROM User WHERE gebruiker ='$username'");
$aantalrijen = mysql_num_rows($query);
if($aantalrijen == 1){
print "je gebruikersnaam bestaat al.";
print "<a href=\"register.php\">probeer het nogmaals</a>";
}
else{
$query1 = "INSERT INTO User(gebruiker, ww) VALUES ('$username','$pass1')";
if(mysql_query($query1)){
print "het registreren is gelukt.<br>klik op <a href=\"login.php\">Login</a> om direct in te loggen";
}
}
}
elseif($dead == "true"){
print $message;
print "<a href=\"register.php\">probeer het nogmaals</a>";
}
}
?>
</center>
</body>
</html>
<head>
<title>registreren</title>
</head>
<?php
include "bestanden/style.css";
?>
<body class="pagina">
<center>
<?php
session_start();
if($_SESSION['gebruiker'] == "true"){
print " je hebt al een account.";
}
include('bestanden/config.php');
if(!isset($_REQUEST['submit'])){
?>
<h1>registreer account:</h1>
<form method="post" acion=""<? $_SERVER['PHP_SELF'] ?>"">
<table>
<tr>
<td>
Gebruikersnaam:
</td>
<td>
<input type="text" name="name" maxlength="15">
</td>
</tr>
<tr>
<td>
Password:
</td>
<td>
<input type="password" name="pass1">
</td>
</tr>
<tr>
<td>
Bevestig:
</td>
<td>
<input type="password" name="pass2">
</td>
</tr>
<tr>
<td align="right">
<input type="submit" value="registreer" name="submit">
</td>
<td>
<input type="reset" value="reset">
</td>
</tr>
</table>
</form>
<?php
}else{
$dead = "false";
$message = "vul aub alle velden correct in:<br>";
$username = $_POST['name'];
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];
$ip = $_SERVER['REMOTE_ADDR'];
$status = "1";
if(strlen($username) <= 1 or strlen($username) >=15){
$dead = "true";
$message .= "de gebruikersnaam moet tussen (2-14) aantal karakters zijn<br>";
}
if(strlen($pass1) < 6 or strlen($pass1) > 20 or $pass1 !== $pass2) {
$dead = "true";
$message .= "Password heeft geen (6-20) karakters of password komt niet overeen met bevestig pasword";
}
if($dead = "false"){
$username = strtolower(trim(strip_tags($username)));
$pass1 = trim($pass1);
$pass1 = md5($pass1);
$query = mysql_query("SELECT * FROM User WHERE gebruiker ='$username'");
$aantalrijen = mysql_num_rows($query);
if($aantalrijen == 1){
print "je gebruikersnaam bestaat al.";
print "<a href=\"register.php\">probeer het nogmaals</a>";
}
else{
$query1 = "INSERT INTO User(gebruiker, ww) VALUES ('$username','$pass1')";
if(mysql_query($query1)){
print "het registreren is gelukt.<br>klik op <a href=\"login.php\">Login</a> om direct in te loggen";
}
}
}
elseif($dead == "true"){
print $message;
print "<a href=\"register.php\">probeer het nogmaals</a>";
}
}
?>
</center>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Ruben php
Bevestig:
</td>
<td>
<input type= name="pass2">
</td>
</tr>
Bevestig:
</td>
<td>
<input type=password name="pass2">
</td>
</tr>
ik had het al zo alleen ik heb het verkeerde gePOST nu is het wel goed
tja ik ben nieuw hier :P
maar ik denk dat er iets fout gaat in de database
want door de input type password stop ie een rare code erin
maar bij het ophalen van dat password gaat ie vergelijken
if ($fetch['ww'] == $ww) en daar zal t fout gaan bij die vergelijking
Gewijzigd op 01/01/1970 01:00:00 door ruben php
als je hem handmatig in de database zet doe je dit dan ook met een md5 hash
En in je checks, controleer je op de lengte van $pass1. En later gooi je er pas een trim overheen?
Ook is het kopiëren van variabelen onhandig en totaal overbodig. Je kan de checks gewoon direct op de post variabele uitvoeren.