Werkend voorbeeld
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
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
<?php
ini_set('display_errors', 1);
error_reporting (E_ALL);
// t (): plaats een aantal tabs en eventueel een newline
// $n_tabs: hoeveel tabs je wilt
// $newline: wel of geen nieuwe regel
function t($n_tabs, $newline = false) {
if ($newline) echo "\n";
for ($i = 0; $i < $n_tabs; $i++) {
echo "\t";
}
}
// make_checkboxes (): maak een serie checkboxes met dezelfde name[]
// $name: string met de naam van de checkboxen
// $values: array met de values van de checkboxen
// $selections: array met de geselecteerde checkboxen
// $vertical: boolean voor horizontaal (false) of verticaal (true)
function make_checkboxes ($name, $values, $selections, $vertical = false) {
foreach ($values as $value) {
if ($vertical) {
t (3, true);
echo '<p>';
}
t (3, true);
echo '<input id="' . $value . '" name="' . $name . '[]" type="checkbox" value="' . $value . '"';
if (in_array ($value, $selections)) {
echo ' checked="checked"';
}
echo '>';
t (3, true);
echo '<label for ="' . $value . '">' . $value . '</label>';
if ($vertical) {
t (3, true);
echo '</p>';
}
}
}
// initialisatie-arrays;
// drie series checkboxen als voorbeeld
$hobbies = array ('uitgaan', 'lezen', 'tuinieren', 'PHP', 'koken');
$huisdieren = array ('kat', 'hond', 'dwerghamster', 'konijn', 'cavia', 'schildpad', 'goudvis');
$ziektes = array ('griep', 'dyfterie', 'kinkhoest', 'tyfus', 'pokken', 'mazelen', 'angina');
// als het formulier verzonden is vangen we de values op
// LET OP: als geen één checkbox van een groep is aangevinkt
// bestaat er géén array van in de POST variabelen. Vandaar dat
// we hier moeten checken met isset ()
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$hobbies_selections = (isset ($_POST['hobbies'])) ? ($_POST['hobbies']) : (array ());
$huisdieren_selections = (isset ($_POST['huisdieren'])) ? ($_POST['huisdieren']) : (array ());
$ziektes_selections = (isset ($_POST['ziektes'])) ? ($_POST['ziektes']) : (array ());
}
// formulier is nog niet gepost, dus hier een lege array maken
// we zouden ook een array met standaardwaarden kunnen maken om
// sommige of alle checkboxen alvast te selecteren
else {
$hobbies_selections = array ();
$huisdieren_selections = array ();
$ziektes_selections = array ();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Selective Memory</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
h1 {
font: 18px arial;
color: #f99;
border-bottom: 1px dashed #f99;
padding-bottom: 5px;
}
p, label, select, option {
font: 12px verdana;
color: #66f;
}
label {
cursor: pointer;
}
</style>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<h1>Wat zijn je hobbies?</h1>
<p><?php make_checkboxes ('hobbies', $hobbies, $hobbies_selections); ?></p>
<h1>Welke huisdieren heb je?</h1>
<?php make_checkboxes ('huisdieren', $huisdieren, $huisdieren_selections, true); ?>
<h1>Welke ziektes heb je (gehad)?</h1>
<p><?php make_checkboxes ('ziektes', $ziektes, $ziektes_selections); ?></p>
<p><input type="submit" value="verzenden"></p>
</form>
</body>
</html>
ini_set('display_errors', 1);
error_reporting (E_ALL);
// t (): plaats een aantal tabs en eventueel een newline
// $n_tabs: hoeveel tabs je wilt
// $newline: wel of geen nieuwe regel
function t($n_tabs, $newline = false) {
if ($newline) echo "\n";
for ($i = 0; $i < $n_tabs; $i++) {
echo "\t";
}
}
// make_checkboxes (): maak een serie checkboxes met dezelfde name[]
// $name: string met de naam van de checkboxen
// $values: array met de values van de checkboxen
// $selections: array met de geselecteerde checkboxen
// $vertical: boolean voor horizontaal (false) of verticaal (true)
function make_checkboxes ($name, $values, $selections, $vertical = false) {
foreach ($values as $value) {
if ($vertical) {
t (3, true);
echo '<p>';
}
t (3, true);
echo '<input id="' . $value . '" name="' . $name . '[]" type="checkbox" value="' . $value . '"';
if (in_array ($value, $selections)) {
echo ' checked="checked"';
}
echo '>';
t (3, true);
echo '<label for ="' . $value . '">' . $value . '</label>';
if ($vertical) {
t (3, true);
echo '</p>';
}
}
}
// initialisatie-arrays;
// drie series checkboxen als voorbeeld
$hobbies = array ('uitgaan', 'lezen', 'tuinieren', 'PHP', 'koken');
$huisdieren = array ('kat', 'hond', 'dwerghamster', 'konijn', 'cavia', 'schildpad', 'goudvis');
$ziektes = array ('griep', 'dyfterie', 'kinkhoest', 'tyfus', 'pokken', 'mazelen', 'angina');
// als het formulier verzonden is vangen we de values op
// LET OP: als geen één checkbox van een groep is aangevinkt
// bestaat er géén array van in de POST variabelen. Vandaar dat
// we hier moeten checken met isset ()
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$hobbies_selections = (isset ($_POST['hobbies'])) ? ($_POST['hobbies']) : (array ());
$huisdieren_selections = (isset ($_POST['huisdieren'])) ? ($_POST['huisdieren']) : (array ());
$ziektes_selections = (isset ($_POST['ziektes'])) ? ($_POST['ziektes']) : (array ());
}
// formulier is nog niet gepost, dus hier een lege array maken
// we zouden ook een array met standaardwaarden kunnen maken om
// sommige of alle checkboxen alvast te selecteren
else {
$hobbies_selections = array ();
$huisdieren_selections = array ();
$ziektes_selections = array ();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Selective Memory</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
h1 {
font: 18px arial;
color: #f99;
border-bottom: 1px dashed #f99;
padding-bottom: 5px;
}
p, label, select, option {
font: 12px verdana;
color: #66f;
}
label {
cursor: pointer;
}
</style>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<h1>Wat zijn je hobbies?</h1>
<p><?php make_checkboxes ('hobbies', $hobbies, $hobbies_selections); ?></p>
<h1>Welke huisdieren heb je?</h1>
<?php make_checkboxes ('huisdieren', $huisdieren, $huisdieren_selections, true); ?>
<h1>Welke ziektes heb je (gehad)?</h1>
<p><?php make_checkboxes ('ziektes', $ziektes, $ziektes_selections); ?></p>
<p><input type="submit" value="verzenden"></p>
</form>
</body>
</html>