Checkbox check of hij is aangevinkt
Ik heb nu een registratie script gevonden en bewerkt.
Maar ik loop tegen het volgende op, ik wil namelijk een check doen of de algemene voorwaardes is aangevinkt ja of nee.
maar waar zou ik
Code (php)
nu heb ik tot nu toe dit:
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
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
<?php
if ( ($_SERVER['REQUEST_METHOD'] == "POST") && ($_POST['signup']))
{
$signup_sql = mysql_query("INSERT INTO leden VALUES('','".$_POST['username']."','".md5($_POST['password'])."','".$_POST['voornaam']."','".$_POST['tussenvoegsel']."','".$_POST['achternaam']."','".$_POST['straatnaam']."','".$_POST['postcode']."','".$_POST['plaats']."','".$_POST['telefoonnr']."','".$_POST['email']."','','','".date('d-m-Y H:i')."','".$_SERVER['REMOTE_ADDR']."')");
if ($signup_sql == TRUE) {
echo "Dit lid is succesvol aangemeld";
} else {
echo "Error: Dit lid is niet succesvol aangemeld wegens: ".mysql_error();
}
} else {
echo "
<form method=\"POST\" action=\"\">
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"35%\" id=\"table1\">
<tr>
<td width=\"143\">Gebruikersnaam: </td>
<td>
<p><input type=\"text\" name=\"username\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Wachtwoord: </td>
<td>
<p><input type=\"text\" name=\"password\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">E-mail: </td>
<td>
<p><input type=\"text\" name=\"email\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Voornaam: </td>
<td>
<p><input type=\"text\" name=\"voornaam\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Tussenvoegsel: </td>
<td>
<p><input type=\"text\" name=\"tussenvoegsel\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Achternaam: </td>
<td>
<p><input type=\"text\" name=\"achternaam\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Straatnaam: </td>
<td>
<p><input type=\"text\" name=\"straatnaam\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Postcode: </td>
<td>
<p><input type=\"text\" name=\"postcode\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Plaats: </td>
<td>
<p><input type=\"text\" name=\"plaats\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Telefoon nr: </td>
<td>
<p><input type=\"text\" name=\"telefoonnr\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Algemene voorwaarde: </td>
<td>
<p><input name=\"algemenevoorwaardes\" type=\"checkbox\" value=\"\" /></p>
</td>
</tr>
<tr>
<td width=\"143\"> </td>
<td><input type=\"submit\" value=\"Verzenden\" name=\"signup\"></td>
</tr>
</table>
</form>
";
}
?>
if ( ($_SERVER['REQUEST_METHOD'] == "POST") && ($_POST['signup']))
{
$signup_sql = mysql_query("INSERT INTO leden VALUES('','".$_POST['username']."','".md5($_POST['password'])."','".$_POST['voornaam']."','".$_POST['tussenvoegsel']."','".$_POST['achternaam']."','".$_POST['straatnaam']."','".$_POST['postcode']."','".$_POST['plaats']."','".$_POST['telefoonnr']."','".$_POST['email']."','','','".date('d-m-Y H:i')."','".$_SERVER['REMOTE_ADDR']."')");
if ($signup_sql == TRUE) {
echo "Dit lid is succesvol aangemeld";
} else {
echo "Error: Dit lid is niet succesvol aangemeld wegens: ".mysql_error();
}
} else {
echo "
<form method=\"POST\" action=\"\">
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"35%\" id=\"table1\">
<tr>
<td width=\"143\">Gebruikersnaam: </td>
<td>
<p><input type=\"text\" name=\"username\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Wachtwoord: </td>
<td>
<p><input type=\"text\" name=\"password\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">E-mail: </td>
<td>
<p><input type=\"text\" name=\"email\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Voornaam: </td>
<td>
<p><input type=\"text\" name=\"voornaam\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Tussenvoegsel: </td>
<td>
<p><input type=\"text\" name=\"tussenvoegsel\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Achternaam: </td>
<td>
<p><input type=\"text\" name=\"achternaam\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Straatnaam: </td>
<td>
<p><input type=\"text\" name=\"straatnaam\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Postcode: </td>
<td>
<p><input type=\"text\" name=\"postcode\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Plaats: </td>
<td>
<p><input type=\"text\" name=\"plaats\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Telefoon nr: </td>
<td>
<p><input type=\"text\" name=\"telefoonnr\" size=\"26\"></p>
</td>
</tr>
<tr>
<td width=\"143\">Algemene voorwaarde: </td>
<td>
<p><input name=\"algemenevoorwaardes\" type=\"checkbox\" value=\"\" /></p>
</td>
</tr>
<tr>
<td width=\"143\"> </td>
<td><input type=\"submit\" value=\"Verzenden\" name=\"signup\"></td>
</tr>
</table>
</form>
";
}
?>
Script is lek => SQL-Injection.
Gebruik bij echo enkele quotes dat scheelt heel veel escapen van de dubbele html-quotes en het is veel overzichtelijker.
Toevoeging op 15/06/2011 14:17:21:
Oja en als ik
Code (php)
dan geeft hij een fout in Dreamweaver bij de laatste else?
Je stopt de userinput direct in een query. Nooit doen. Óf checken of het exact is wat jij verwacht óf beveiligen met mysql_real_escape_string().
Toevoeging op 15/06/2011 14:20:22:
Fout? Welke fout?
Toevoeging op 15/06/2011 14:23:29:
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
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
<?php
if ( ($_SERVER['REQUEST_METHOD'] == "POST") && ($_POST['signup']))
{
if (!$_POST['algemenevoorwaardes'])
{
echo "U moet akkoord gaan met onze algemene voorwaardes als u zich wilt registreren.";
}else{
$signup_sql = mysql_query("INSERT INTO leden VALUES('','".$_POST['username']."','".md5($_POST['password'])."','".$_POST['voornaam']."','".$_POST['tussenvoegsel']."','".$_POST['achternaam']."','".$_POST['straatnaam']."','".$_POST['postcode']."','".$_POST['plaats']."','".$_POST['telefoonnr']."','".$_POST['email']."','','','".date('d-m-Y H:i')."','".$_SERVER['REMOTE_ADDR']."')");
if ($signup_sql == TRUE) {
echo "Dit lid is succesvol aangemeld";
} else {
echo "Error: Dit lid is niet succesvol aangemeld wegens: ".mysql_error();
}
} else {
echo '
<form method="POST" action="">
<table border="0" cellpadding="0" cellspacing="0" width="35%" id="table1">
<tr>
<td width="143">Gebruikersnaam: </td>
<td>
<p><input type="text" name="username" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Wachtwoord: </td>
<td>
<p><input type="text" name="password" size="26"></p>
</td>
</tr>
<tr>
<td width="143">E-mail: </td>
<td>
<p><input type="text" name="email" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Voornaam: </td>
<td>
<p><input type="text" name="voornaam" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Tussenvoegsel: </td>
<td>
<p><input type="text" name="tussenvoegsel" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Achternaam: </td>
<td>
<p><input type="text" name="achternaam" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Straatnaam: </td>
<td>
<p><input type="text" name="straatnaam" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Postcode: </td>
<td>
<p><input type="text" name="postcode" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Plaats: </td>
<td>
<p><input type="text" name="plaats" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Telefoon nr: </td>
<td>
<p><input type="text" name="telefoonnr" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Algemene voorwaarde: </td>
<td>
<p><input name="algemenevoorwaardes" type="checkbox" value="" /></p>
</td>
</tr>
<tr>
<td width="143"> </td>
<td><input type="submit" value="Verzenden" name="signup"></td>
</tr>
</table>
</form>
';
}
}
?>
if ( ($_SERVER['REQUEST_METHOD'] == "POST") && ($_POST['signup']))
{
if (!$_POST['algemenevoorwaardes'])
{
echo "U moet akkoord gaan met onze algemene voorwaardes als u zich wilt registreren.";
}else{
$signup_sql = mysql_query("INSERT INTO leden VALUES('','".$_POST['username']."','".md5($_POST['password'])."','".$_POST['voornaam']."','".$_POST['tussenvoegsel']."','".$_POST['achternaam']."','".$_POST['straatnaam']."','".$_POST['postcode']."','".$_POST['plaats']."','".$_POST['telefoonnr']."','".$_POST['email']."','','','".date('d-m-Y H:i')."','".$_SERVER['REMOTE_ADDR']."')");
if ($signup_sql == TRUE) {
echo "Dit lid is succesvol aangemeld";
} else {
echo "Error: Dit lid is niet succesvol aangemeld wegens: ".mysql_error();
}
} else {
echo '
<form method="POST" action="">
<table border="0" cellpadding="0" cellspacing="0" width="35%" id="table1">
<tr>
<td width="143">Gebruikersnaam: </td>
<td>
<p><input type="text" name="username" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Wachtwoord: </td>
<td>
<p><input type="text" name="password" size="26"></p>
</td>
</tr>
<tr>
<td width="143">E-mail: </td>
<td>
<p><input type="text" name="email" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Voornaam: </td>
<td>
<p><input type="text" name="voornaam" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Tussenvoegsel: </td>
<td>
<p><input type="text" name="tussenvoegsel" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Achternaam: </td>
<td>
<p><input type="text" name="achternaam" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Straatnaam: </td>
<td>
<p><input type="text" name="straatnaam" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Postcode: </td>
<td>
<p><input type="text" name="postcode" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Plaats: </td>
<td>
<p><input type="text" name="plaats" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Telefoon nr: </td>
<td>
<p><input type="text" name="telefoonnr" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Algemene voorwaarde: </td>
<td>
<p><input name="algemenevoorwaardes" type="checkbox" value="" /></p>
</td>
</tr>
<tr>
<td width="143"> </td>
<td><input type="submit" value="Verzenden" name="signup"></td>
</tr>
</table>
</form>
';
}
}
?>
als ik hem zo doe en ik bekijk de site geeft hij DIRECT "U moet akkoord gaan met onze algemene voorwaardes als u zich wilt registreren." aan zonder dat ik het formulier heb gezien..
Gurdt Hooghoudt op 15/06/2011 14:22:31:
Denk dat je niet een else na een else kan doen.. ?
Nee, dat kan ook niet.
En ben nu wel erg benieuwd hoe ik nu mysql_real_escape_string toekan voegen.. Sorry voor mijn Beginners vragen, misschien had ik hem in de beginners forum moeten plaatsen :)
Code (php)
En nu zie je direct dat er een 'else' verkeerd staat.
Gewijzigd op 15/06/2011 14:31:05 door - SanThe -
ja maar hoe los ik het op want heb al de ($_POST['algemenevoorwaardes']) weg gehaald en aan het eind pas een else gezet maar dat werkt ook niet ..
Je moet zelf ook nog foutafhandeling inbouwen.
En let op dit:
- SanThe - op 15/06/2011 14:18:41:
VALUES('','".$_POST['username']."'... etc.
Je stopt de userinput direct in een query. Nooit doen. Óf checken of het exact is wat jij verwacht óf beveiligen met mysql_real_escape_string().
Je stopt de userinput direct in een query. Nooit doen. Óf checken of het exact is wat jij verwacht óf beveiligen met mysql_real_escape_string().
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
99
100
101
102
103
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
99
100
101
102
103
<?php
$error = '';
if (($_SERVER['REQUEST_METHOD'] == "POST") && ($_POST['signup']))
{
if (!$_POST['algemenevoorwaardes'])
{
$error = "U moet akkoord gaan met onze algemene voorwaardes als u zich wilt registreren.";
}
else
{
$signup_sql = mysql_query("INSERT INTO leden VALUES('','".$_POST['username']."','".md5($_POST['password'])."','".$_POST['voornaam']."','".$_POST['tussenvoegsel']."','".$_POST['achternaam']."','".$_POST['straatnaam']."','".$_POST['postcode']."','".$_POST['plaats']."','".$_POST['telefoonnr']."','".$_POST['email']."','','','".date('d-m-Y H:i')."','".$_SERVER['REMOTE_ADDR']."')");
if ($signup_sql == TRUE)
{
echo "Dit lid is succesvol aangemeld";
}
else
{
echo "Error: Dit lid is niet succesvol aangemeld wegens: ".mysql_error();
}
exit;
}
}
if($error != '')
{
echo $error;
}
echo '
<form method="POST" action="">
<table border="0" cellpadding="0" cellspacing="0" width="35%" id="table1">
<tr>
<td width="143">Gebruikersnaam: </td>
<td>
<p><input type="text" name="username" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Wachtwoord: </td>
<td>
<p><input type="text" name="password" size="26"></p>
</td>
</tr>
<tr>
<td width="143">E-mail: </td>
<td>
<p><input type="text" name="email" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Voornaam: </td>
<td>
<p><input type="text" name="voornaam" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Tussenvoegsel: </td>
<td>
<p><input type="text" name="tussenvoegsel" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Achternaam: </td>
<td>
<p><input type="text" name="achternaam" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Straatnaam: </td>
<td>
<p><input type="text" name="straatnaam" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Postcode: </td>
<td>
<p><input type="text" name="postcode" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Plaats: </td>
<td>
<p><input type="text" name="plaats" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Telefoon nr: </td>
<td>
<p><input type="text" name="telefoonnr" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Algemene voorwaarde: </td>
<td>
<p><input name="algemenevoorwaardes" type="checkbox" value="" /></p>
</td>
</tr>
<tr>
<td width="143"> </td>
<td><input type="submit" value="Verzenden" name="signup"></td>
</tr>
</table>
</form>
';
?>
$error = '';
if (($_SERVER['REQUEST_METHOD'] == "POST") && ($_POST['signup']))
{
if (!$_POST['algemenevoorwaardes'])
{
$error = "U moet akkoord gaan met onze algemene voorwaardes als u zich wilt registreren.";
}
else
{
$signup_sql = mysql_query("INSERT INTO leden VALUES('','".$_POST['username']."','".md5($_POST['password'])."','".$_POST['voornaam']."','".$_POST['tussenvoegsel']."','".$_POST['achternaam']."','".$_POST['straatnaam']."','".$_POST['postcode']."','".$_POST['plaats']."','".$_POST['telefoonnr']."','".$_POST['email']."','','','".date('d-m-Y H:i')."','".$_SERVER['REMOTE_ADDR']."')");
if ($signup_sql == TRUE)
{
echo "Dit lid is succesvol aangemeld";
}
else
{
echo "Error: Dit lid is niet succesvol aangemeld wegens: ".mysql_error();
}
exit;
}
}
if($error != '')
{
echo $error;
}
echo '
<form method="POST" action="">
<table border="0" cellpadding="0" cellspacing="0" width="35%" id="table1">
<tr>
<td width="143">Gebruikersnaam: </td>
<td>
<p><input type="text" name="username" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Wachtwoord: </td>
<td>
<p><input type="text" name="password" size="26"></p>
</td>
</tr>
<tr>
<td width="143">E-mail: </td>
<td>
<p><input type="text" name="email" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Voornaam: </td>
<td>
<p><input type="text" name="voornaam" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Tussenvoegsel: </td>
<td>
<p><input type="text" name="tussenvoegsel" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Achternaam: </td>
<td>
<p><input type="text" name="achternaam" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Straatnaam: </td>
<td>
<p><input type="text" name="straatnaam" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Postcode: </td>
<td>
<p><input type="text" name="postcode" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Plaats: </td>
<td>
<p><input type="text" name="plaats" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Telefoon nr: </td>
<td>
<p><input type="text" name="telefoonnr" size="26"></p>
</td>
</tr>
<tr>
<td width="143">Algemene voorwaarde: </td>
<td>
<p><input name="algemenevoorwaardes" type="checkbox" value="" /></p>
</td>
</tr>
<tr>
<td width="143"> </td>
<td><input type="submit" value="Verzenden" name="signup"></td>
</tr>
</table>
</form>
';
?>
Gewijzigd op 15/06/2011 14:47:40 door - SanThe -
-SanThe- allereerst super bedankt voor je hulp maar boven staande script krijg je de hele tijd de error: U moet akkoord gaan met onze alg... ookal vink je hem aan
if (!$_POST['algemenevoorwaardes'])
Je kijkt nu of ie true of false is.
Maak er dit van:
if(!isset($_POST['algemenevoorwaardes']))
http://www.pfz.nl/forum/topic/4421-checkbox-check-vraag/ , waar ze je ook tips geven.
Kijk ook even op Daar was ik al op aan het kijken, maar bedankt ;)