Hallo,

Heb code geschreven die het aantal geselecteerde checkboxen optelt.
Op dit moment laat de variable alleen "There are 1 checkboxe(s) are checked" zien ook als je meerdere checkboxen aangeklikt hebt.

Iedere checkbox heeft een andere naam, dit wil ik graag zo houden.

mijn vraag is: hoe kun je bijhouden hoeveel checkboxen er geselecteerd zijn, en dit tonen in de variable count?

alvast bedankt

de code is:

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);


if (isset($_POST["submit"])){

    $chkbox_count = 0;
    if (isset($_POST['oordeel1']) && $_POST['oordeel1'] == "j") $chkbox_count+1;
    if (isset($_POST['oordeel2']) && $_POST['oordeel1'] == "j") $chkbox_count+2;
    if (isset($_POST['oordeel3']) && $_POST['oordeel1'] && $_POST['oordeel2'] == "j") $chkbox_count+3;
    if (isset($_POST['oordeel4']) && $_POST['oordeel1'] && $_POST['oordeel2'] && $_POST['oordeel3']== "j") $chkbox_count+4;
    
$count = count($chkbox_count);
echo "There are ".$count." checkboxe(s) are checked";
if($count <= 3)
{
    echo "<script>alert('test1234');</script>";
}
    
}
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title></title>
</head>

<body>
<form action="index.php" id="checkbox" method="POST">
   <input type="checkbox" name="oordeel1" value="j"/>Akkoord
   <input type="checkbox" name="oordeel2" value="j"/>Akkoord
   <input type="checkbox" name="oordeel3" value="j"/>Akkoord
   <input type="checkbox" name="oordeel4" value="j"/>Akkoord
   <input type="submit" name="submit" value="verstuur" />
</form>
</body>
</html>

<?php
$count = 0;
for($i=1; $i<=4; $i++)
{
if(isset($_POST['oordeel'.$i])) $count++;
}
echo $count;
?>
ok, bedankt voor de info.
Maar je zegt: $_POST['oordeel'.$i],
en de names van de checkbox zijn oordeel1 t/m oordeel4

waarom werkt dit dan ook?
Omdat $i achtereenvolgens steeds 1,2,3 en 4 wordt in een loop.
http://php.net/for
Omdat $i van 1 naar 4 loopt en 'oordeel'.$i het aan elkaar plakt.
Dus als $i bv. 3 is wordt 'oordeel'.$i dus 'oordeel3'.
Waarom maak je van het oordeel-veld geen array? :/

<form action="index.php" id="checkbox" method="POST">
   <input type="checkbox" name="oordeel[]" value="1"/>Akkoord
   <input type="checkbox" name="oordeel[]" value="2"/>Akkoord
   <input type="checkbox" name="oordeel[]" value="3"/>Akkoord
   <input type="checkbox" name="oordeel[]" value="4"/>Akkoord
   <input type="submit" name="submit" value="verstuur" />
</form>


Of desnoods met indexen, indien de value belangrijk is:
<form action="index.php" id="checkbox" method="POST">
   <input type="checkbox" name="oordeel[1]" value="j"/>Akkoord
   <input type="checkbox" name="oordeel[2]" value="j"/>Akkoord
   <input type="checkbox" name="oordeel[3]" value="j"/>Akkoord
   <input type="checkbox" name="oordeel[4]" value="j"/>Akkoord
   <input type="submit" name="submit" value="verstuur" />
</form>


En maak gebruik van labels, dat is zoveel gebruiksvriendelijker, vooral als iemand een heleboel checkboxen moet afvinken :).

Reageren