echo '<form action="'.$baseHref.'actions/functions.php" method="post">
<input type="hidden" name="action" value="invullenEnquette">
<input type="hidden" name="pagina" value="'.$pagina.'">
<input type="hidden" name="permission" value="'.$userPermission.'">
<input type="hidden" name="userid" value="'.$userId.'">
<input type="hidden" name="secretkey" value="'.$sectetKeyUsers.'">
<input type="hidden" name="basehref" value="'.$baseHref.'">';
$status = 1;
$sql_vraag = "SELECT * FROM enquette_vragen WHERE status = :status ORDER BY positie ASC";
$stmt_vraag = $pdo->prepare($sql_vraag);
$stmt_vraag->bindParam(':status', $status, PDO::PARAM_STR);
$stmt_vraag->execute();
$result_vraag = $stmt_vraag->fetchAll();
foreach($result_vraag as $row_vraag){
echo '<div class="media_box " id="row-'.$row_vraag['id'].'">';
echo '<label>'.$row_vraag['vraag'].'</label><br/>';
$vraag_id = $row_vraag['id'];
$vraag_soort = $row_vraag['soort'];
switch($vraag_soort){
case 1:
echo '<input type="text" name="vr_'.$vraag_id.'" class="form-control"><br/>';
break;
case 2:
$sql_soort = "SELECT * FROM enquette_vragen_soort WHERE status = :status AND enquette_vraag_id = :enquette_vraag_id";
$stmt_soort = $pdo->prepare($sql_soort);
$stmt_soort->bindParam(':status', $status, PDO::PARAM_STR);
$stmt_soort->bindParam(':enquette_vraag_id', $vraag_id, PDO::PARAM_STR);
$stmt_soort->execute();
$result_soort = $stmt_soort->fetchAll();
foreach($result_soort as $row_soort){
echo '<input type="checkbox" name="vr_'.$vraag_id.'[]" value="vr_soort_'.$row_soort['id'].'"> '.$row_soort['optie'].'<br>';
}
break;
case 3:
$sql_soort = "SELECT * FROM enquette_vragen_soort WHERE status = :status AND enquette_vraag_id = :enquette_vraag_id";
$stmt_soort = $pdo->prepare($sql_soort);
$stmt_soort->bindParam(':status', $status, PDO::PARAM_STR);
$stmt_soort->bindParam(':enquette_vraag_id', $vraag_id, PDO::PARAM_STR);
$stmt_soort->execute();
$result_soort = $stmt_soort->fetchAll();
foreach($result_soort as $row_soort){
echo '<input type="radio" name="vr_'.$vraag_id.'" value="'.$row_soort['id'].'"> '.$row_soort['optie'].'<br>';
}
break;
}
echo '<hr></hr>';
echo '</div>';
}
echo '<input type="submit" value="Opslaan">';
echo '</form>';
Met het volgende script wordt het formulier uitgelezen
$status = 1;
$sql_vraag = "SELECT * FROM enquette_vragen WHERE status = :status";
$stmt_vraag = $pdo->prepare($sql_vraag);
$stmt_vraag->bindParam(':status', $status, PDO::PARAM_STR);
$stmt_vraag->execute();
$result_vraag = $stmt_vraag->fetchAll();
foreach($result_vraag as $row_vraag){
echo $row_vraag['id'].'<br/>';
if($row_vraag['soort'] == 1){
foreach($_POST as $key => $value) {
echo "POST parameter '$key' has '$value'<br/>";
}
}
}
print_r($_POST);
Uit de print_r($POST) komt de volgende array:
Array
(
[action] => invullenEnquette
[pagina] => dashbord
[permission] => 3
[userid] => 5
[secretkey] => 0a30ab684ffa8bc0d54e53617d99dd93
[basehref] => http://localhost/BenJijDeMol/
[vr_18] => Array
(
[0] => vr_soort_8
[1] => vr_soort_10
)
[vr_19] => 6
[vr_29] => 20
)Bij de echo van "POST parameter '$key' has '$value' komt er een error in mijn scherm te staan:
Notice: Array to string conversion in .... on line 197.
Ik heb echt geen idee hoe ik deze array zo kan aan passen dat ik de vraagnummers kan vergelijken met de nummers uit mijn database om de antwoorden te inserten in een tabel voor de antwoorden.