<?php session_start();
function quote_smart($value) {
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
if(version_compare(phpversion(),"4.3.0") == "-1") {
return mysqli_escape_string($value);
} else {
return mysqli_real_escape_string($value);
}
}
if(isset($_POST['submit'])){
	// code for check server side validation
	if(empty($_SESSION['captcha_code'] ) || strcasecmp($_SESSION['captcha_code'], $_POST['captcha_code']) != 0){  
		$msg="<span style='color:red'>The Validation code does not match!</span>";// Captcha verification is incorrect.		
	}else{// Captcha verification is Correct. Final Code Execute here!		
		$msg="<span style='color:green'>The Validation code has been matched.</span>";	
$servername = "a";
$username = "b";
$password = "c";
$dbname = "d";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection 
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$collection= array('orange', 'apple', 'grapefruit', 'banana', 'watermelon');
$fruit = array('orange', 'apple', 'grapefruit', 'banana', 'watermelon');
if(isset($_POST['submit']))
{   $fruit = $_POST['fruit'];
   $values = array($collection);
    foreach($collection as $selection )
    {     if(in_array($selection, $fruit))
            { $values[ $selection ] = 1;  }
        else
            { $values[ $selection ] = 0;  }
   }

$sql = "INSERT INTO guessing (student_name, student_email, student_city, orange, apple, grapefruit, banana, watermelon)
    VALUES(
        '".$conn->real_escape_string($_POST["student_name"])."',
        '".$conn->real_escape_string($_POST["student_email"])."',
        '".$conn->real_escape_string($_POST["student_city"])."',
    {$values['orange']}, {$values['apple']}, {$values['grapefruit']}, {$values['banana']}, {$values['watermelon']})";		
	
if ($conn->query($sql) === TRUE) {
echo "<script type= 'text/javascript'>alert('New record created successfully');</script>";
} else {
echo "<script type= 'text/javascript'>alert('Error: " . $sql . "<br>" . $conn->error."');</script>";
}   
 // end of foreach.
 
    // MySQL statement.    
// MySQL statement to execute the INSERT statement above.           
mysqli_query($conn, $sql) or die('<br/>Error reading database: '.mysqli_error($conn));
mysqli_close($conn);
}  // End of, if statement from the button check
;
}	
	}	
?>
<html>
    <head>

         <meta charset="utf-8">
<title>Testwebsite</title>
<script type='text/javascript'>
function refreshCaptcha(){
    var img = document.images['captchaimg'];
    img.src = img.src.substring(0,img.src.lastIndexOf("?"))+"?rand="+Math.random()*1000;
}
</script>
    </head>
    <body>
<form action="" method="post" name="form1" id="form1" >
           <input type="checkbox" name="fruit[Orange]" value="orange"> Orange
           <input type="checkbox" name="fruit[Apple]" value="apple"> Apple
           <input type="checkbox" name="fruit[Grapefruit]" value="grapefruit"> Grapefruit
           <input type="checkbox" name="fruit[Banana]" value="banana"> Banana
           <input type="checkbox" name="fruit[Watermelon]" value="watermelon"> Watermelon
		   <br>
                   <label>Student Name :</label>
                          <input type="text" name="student_name" id="name" required="required" placeholder="Please Enter Name"/><br /><br />
                   <label>Student Email :</label>
                          <input type="email" name="student_email" id="email" required="required" placeholder="[email protected]"/><br/><br />
                   <label>Student City :</label>
                          <input type="text" name="student_city" id="city" required="required" placeholder="Please Enter Your City"/><br/><br />
  
                             <meta charset="utf-8">
                             <script type='text/javascript'>
                             function refreshCaptcha(){
                             var img = document.images['captchaimg'];
                             img.src = img.src.substring(0,img.src.lastIndexOf("?"))+"?rand="+Math.random()*1000;
                             }
                             </script>
                                                   <?php if(isset($msg)){?>
                                                   <?php echo $msg;?></td>
                                                   <?php } ?>
                             Validation code:
                                 <img src="captcha.php?rand=<?php echo rand();?>" id='captchaimg'><br>
                                 <label for='message'>Enter the code above here :</label>
                                 <br>
                                 <input id="captcha_code" name="captcha_code" type="text">
                                 <br>
                            Can't read the image? click <a href='javascript: refreshCaptcha();'>here</a> to refresh.</td>
                                                <input name="submit" type="submit" value="submit">
</form>
</body>
</html>


Als ik nu deze data op sla in mijn database krijg ik bijvoorbeeld:
banaan : 1
orange : 0
enzv...

Dit is een probleem, omdat ik 200 mogelijk heden dus heb en de database laat er maar 100 toe.
Kan het niet zo gemaakt worden dat je een lijst krijgt met wat diegene heeft gekozen

gekozen : banaan, appel.
Waarschijnlijk als een soort whitelist, om te controleren of er wel een geldige fruitsoort ingevuld was, wat op zich niet eens zo'n slecht idee is (input filtering).
Idee is inderdaad niet slecht.

Begrijp alleen niet goed waar TS (in openingspost) $collection en $fruit aanmaakt, met daarin dezelfde array.
$fruit wordt daarna (na verzending formulier) overschreven met een $_POST waarde.

In de post van 06/12/2015 10:17:15 wordt op regel 12 en 31 if(isset($_POST['submit'])) uitgevoerd. Geen idee waarom 2x (Ariƫn wijst er al op dat je beter op een andere manier kunt checken of een formulier verstuurd is).

Reageren