Werkend voorbeeld

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding & uitleg
  2. Werkend voorbeeld

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.