arraywalkrecursive

Gesponsorde koppelingen

PHP script bestanden

  1. arraywalkrecursive

« Lees de omschrijving en reacties

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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
<?php
    // alle errors aan
    ini_set ('display_errors', 1);
    error_reporting (E_ALL);

    // deze is nodig omdat ik mysql_real_escape_string gebruik
    require '../../db_config.php';
    
    // de functie die op elk element van de array losgelaten wordt
    // $value wordt niet 'by value', maar 'by reference' meegegeven,
    // zodat de waarde in het arrayelement ook werkelijk aangepast wordt

    function safe (&$value, $key) {
        $value = trim ($value);
        $value = strtoupper ($value); // deze is alleen maar om te laten zien dat er echt iets gebeurt
        $value = mysql_real_escape_string ($value);
    }

    
    // array_walk_recursive gaat ALLE elementen van een array af,
    // OOK als het een multidimensionale array is
    // het eerste argument is de array, het tweede argument is de naam
    // van de functie die op de elementen van de array inwerkt

    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        array_walk_recursive ($_POST, 'safe');
    }

?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
    <title>Array Walk Recursive</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
        #container {
            margin: 16px auto;
            padding: 8px;
            width: 500px;
            border-right: 1px dotted #abc;
            border-left: 1px dotted #abc;
        }
        form {
            background: #f9f9ff;
            padding: 8px;
        }
        h1 {
            font: bold 1em georgia;
            color: #abc;
            margin: 0px 0px 16px 0px;
            padding: 4px;
            border-bottom: 1px dotted #abc;
        }
        p, label, input, textarea, pre, select, option {
            font: 11px verdana;
            padding: 2px;
        }
        pre {
            color: #999;
        }
        label {
            cursor: pointer;
        }
        label.naast {
            float: left;
            width: 100px;
            text-align: right;
        }
        .lijnuit {
            margin-left: 104px;
        }
    </style>
</head>

<body>
    <div id="container">
        <h1>Testformulier</h1>
        <form method="post" action="#">
            <p>
                <label for="naam" class="naast">naam:</label>
                <input id="naam" name="naam" type="text">
            </p>
            <p>
                <label for="adres" class="naast">adres:</label>
                <input id="adres" name="adres" type="text">
            </p>
            <p>
                <label for="postcode" class="naast">postcode:</label>
                <input id="postcode" name="postcode" type="text">
            </p>
            <p>
                <label for="woonplaats" class="naast">woonplaats:</label>
                <input id="woonplaats" name="woonplaats" type="text">
            </p>
            <p>
                <input id="appel" name="fruit[]" type="checkbox" value="appel" class="lijnuit">
                <label for="appel">appel</label>
            </p>
            <p>
                <input id="peer" name="fruit[]" type="checkbox" value="peer" class="lijnuit">
                <label for="peer">peer</label>
            </p>
            <p>
                <input id="banaan" name="fruit[]" type="checkbox" value="banaan" class="lijnuit">
                <label for="banaan">banaan</label>
            </p>
            <p>
                <input id="perzik" name="fruit[]" type="checkbox" value="perzik" class="lijnuit">
                <label for="perzik">perzik</label>
            </p>
            <p>
                <label for="maand" class="naast">maand:</label>
                <select id="maand" name="maand">
                    <option value="01">januari</option>
                    <option value="02">februari</option>
                    <option value="03">maart</option>
                    <option value="04">april</option>
                    <option value="05">mei</option>
                    <option value="06">juni</option>
                    <option value="07">juli</option>
                    <option value="08">augustus</option>
                    <option value="09">september</option>
                    <option value="10">oktober</option>
                    <option value="11">november</option>
                    <option value="12">december</option>
                </select>
            </p>
            <p>
                <label for="hobbies" class="naast">hobbies:</label>
                <select id="hobbies" name="hobbies[]" multiple>
                    <option value="voetballen">voetballen</option>
                    <option value="tennissen">tennissen</option>
                    <option value="gamen">gamen</option>
                    <option value="rock &amp; roll">rock &amp; roll</option>
                    <option value="'t nachtleven">'t nachtleven</option>
                </select>
            </p>
            <p>
                <input id="rood" name="kleur" type="radio" value="rood" checked="checked" class="lijnuit">
                <label for="rood">rood</label>
            </p>
            <p>
                <input id="groen" name="kleur" type="radio" value="groen" class="lijnuit">
                <label for="groen">groen</label>
            </p>
            <p>
                <input id="blauw" name="kleur" type="radio" value="blauw" class="lijnuit">
                <label for="blauw">blauw</label>
            </p>
            <p>
                <label for="opmerkingen" class="naast">opmerkingen:</label>
                <textarea id="opmerkingen" name="opmerkingen">
Single quote: '
Double quote: &quot;
Ampersand: &amp;
                </textarea>
            </p>
            <p>
                <input type="submit" value="verzenden" class="lijnuit">
            </p>
        </form>
        <?php
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
            echo '<div id="values">';
            echo '<h1>Verzonden waarden</h1>';
            echo '<pre>';
            print_r ($_POST);
            echo '</pre>';
            echo '</div>';
        }

        ?>

    </div>
</body>
</html>

 
 

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.