Checkbox check dat er minimaal 1 is aangevinkt

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Zack Smulders

Zack Smulders

18/11/2012 21:32:48
Quote Anchor link
Goedenavond,

Ben net begonnen met een website waarvoor iemand voor mij wat PHP code geschreven heeft. Nu heb ik de volgende code gekregen:

Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
            $result
= $mysqli->query("SELECT * FROM categorie");
            while($categorie = $result->fetch_object())
            {

                if($categorie->ID != '0')
                {

?>

<div class="siteCat">
<input type="checkbox" unchecked="checked" name="siteCat[
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $categorie->ID; ?>
]" id="cat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $categorie->ID; ?>
" /><label for="cat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $categorie->ID; ?>
">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $categorie->categorie; ?>
</label>
</div>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
                }
            }

?>


Uit de MySQL database worden wat categorien teruggegeven die de bezoeker kan aanchecken. Deze aangevinkte categorien worden verder gebruikt. Echter, als men alle categorien uitzet dan krijg ik later een error bij de output. Dus of ik moet voorkomen dat alles ge-uncheckt wordt (door te checken dat er minimaal 1 gecheckt is). Dit lijkt echter erg lastig te zijn en ook de diverse fora kunnen mij hier niet wijzer maken hoe dit op te lossen voor dit specifieke script.

Kan iemand mij hier helpen?

alvast bedankt.

Zack
Gewijzigd op 18/11/2012 21:44:27 door Zack Smulders
 
PHP hulp

PHP hulp

24/11/2024 02:25:30
 
Frank Nietbelangrijk

Frank Nietbelangrijk

18/11/2012 23:51:26
Quote Anchor link
je kunt maar lastig voorkomen dat gebruikers alle checkboxen uitvinken. Je moet dit dus mij inziens in het php script controleren. de code die je hierboven weergeeft is van weinig nut. Je zou de foutmelding die je krijgt kunnen geven en de code waar het fout gaat. dit is waarschijnlijk het php bestand dat aangeroepen wordt wanneer je formulier gepost wordt.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

19/11/2012 08:26:42
Quote Anchor link
Ik maak checkboxen altijd op deze manier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<input type="checkbox" name="siteCat[]" value="' . $categorie->ID . '" />';
?>

In het script dat het formulier afhandelt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (isset($_POST['siteCat']) && is_array($_POST['siteCat'])) {
        $sql = "DELETE FROM categorie WHERE ID IN (" . implode(',',$_POST['siteCat']) . ")";
        // en de rest
    }
}

?>

checkboxen worden niet met het formulier mee gezonden als niet zijn aangevinkt, dus als er geen enkele is aangevinkt bestaat $_POST['siteCat'] niet.
Gewijzigd op 19/11/2012 08:27:20 door Ger van Steenderen
 



Overzicht Reageren

 
 

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.