Ik heb een multiple select of meerdere checkboxes,

Je kunt door achter de naam van je input-veld [] te zetten aan PHP vertellen dat je graag wilt dat alle variabelen die met die naam binnen komen als array behandeld moeten worden:
Voorbeeld

<form method="get">

<input type="checkbox" id="my_check_1" name="my_check[]" value="first_check" />
<label for="my_check_1">First check</label><br />
<input type="checkbox" id="my_check_2" name="my_check[]" value="second_check" />
<label for="my_check_2">Second check</label><br />
<input type="checkbox" id="my_check_3" name="my_check[]" value="third_check" />
<label for="my_check_3">Third check</label><br />

<select name="my_select[]" multiple="multiple">

<option value="first_option">First option</option>
<option value="second_option">Second option</option>
<option value="third_option">Third option</option>
</select>
<input type="submit" />
</form>

Het gevolg van een dergelijk formulier is dat in dit geval de $_GET array binnen PHP op zijn beurt weer arrays bevat waarin aangegeven staat welke opties 'aangevinkt' zijn:
Uitvoer

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
Array
(
    [my_check] => Array
        (
            [0] => first_check
            [1] => second_check
        )
    [my_select] => Array
        (
            [0] => second_option
            [1] => third_option
        )
)


Eveneens kun je de indices van de array op zichzelf ook namen/nummering geven. Als je dat doet kun je eenvoudig de 'value' van checkboxes achterwege laten:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<input type="checkbox" id="my_check_1" name="my_check[first]" />
   <label for="my_check_1">First check</label><br />
<input type="checkbox" id="my_check_2" name="my_check[second]" />
   <label for="my_check_2">Second check</label><br />
<input type="checkbox" id="my_check_3" name="my_check[third]" />
   <label for="my_check_3">Third check</label><br />

Uitvoer:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
print_r ( $_GET )
?>


Array
(
    [my_check] => Array
        (
            [first] => on
            [second] => on
        )
)



Met een beetje creatief gebruik van in_array () en/of foreach constructies is het op die manier heel eenvoudig te achterhalen welke opties aangevinkt zijn.

« Lees de omschrijving en reacties

 
 

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.