ciao raga mi sono accorto che nel mio form contenente un questionario non leggo bene i radio button delle varie domande.
In pratica io mi posso ritrovare come tipo di risposta radio button o checkbox ma se due domande hanno come tipo di riposta radio button, mi vanno in conflitto e la risposta ad una domanda elimina immediatamente l'altra risposta...
Questa è la pagina con il questionario
Codice PHP:
<?phprequire_once ("ViewQuestionario.php");
$object = new ViewQuestionario();
$count = $object->getCountDomande();
$view_quest = $object->getNomeQuest();
$view_id_quest = $object->getIdQuest();
session_start();
$_SESSION ['view_id_questionario'] = $view_id_quest;
// // echo $count;
?>
<html>
<head><script type="text/javascript" src="ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="js/jfunction.js"></script>
<script type="text/javascript" src="jwplayer/jwplayer.js"></script>
<link rel="stylesheet" type="text/css" href="css/styleFrontEnd.css">
</head><body>
<h1>Rispondi al questionario</h1>
<div class="contetnHead">
<input name="insert_dom_quest" type="text" id="form_insert" value="Questionario <?php echo $view_quest?> " readonly size="50" />
<br>
<!-- inserire nel db un cmapo testo di spiegazione del questionario -->
</div>
<form action="EleborazioneQuest.php" method="post" enctype="multipart/form-data">
<?php
$dynamic_id=1;
$elenco_numerico_layout = 0;
for ($i=0;$i<$count;$i++){
$elenco_numerico_layout++;
$view_dom = $object->viewDom($i);
$view_type = $object->getTypeAnswer($i);
$view_field = $object->fieldAnswer($i);
$view_files = $object->viewFiles($i);
//Nome quesitonario
$view_id_dom = $object->viewIdDom($i);
$view_type_dom = $object->viewTypeDom($i);
?>
<div class="content" >
<div class="contentDomanda" style="border-width: 2px; border-style: solid; border-color: green;">
<p>Domanda <?php echo $elenco_numerico_layout?></p>
<input name="id_domanda[]" type="text" id="form_insert" value="ID domanda <?php echo $view_id_dom?> " readonly size="50" /><br>
<p>Questa domanda è di tipo <?php echo $view_type_dom?></p>
<?php
if(strlen($view_dom)<400){
$cols = 100;
$rows = 6;
} else{
$cols = 100;
$rows = 10;
}?>
<textarea readonly class="styleDomanda" name="testoDomanda[]" rows="<?php echo $rows?>" cols="<?php echo $cols?>">
<?php echo $view_dom;?>
</textarea><br>
</div>
<div class="contentFile" style="border-width: 2px; border-style: solid; border-color: yellow;">
<?php
$path = "http://localhost/Piattaforma_questionario/media";
$explode_result = explode ( "/", $view_files );
// var_dump($explode_result);die;
if (! empty ( $explode_result )) {
for($d = 0; $d <= count ( $explode_result ) - 1; $d ++) {
$pos_start_formato = strpos ( $explode_result [$d], "-" );
$id_dom_files = substr ( $explode_result [$d], 0, $pos_start_formato);
$pos_end_formato = strpos($explode_result [$d], ".");
$pos_start_formato++;
$output = substr($explode_result [$d], ++$pos_end_formato);
$value_files = substr($explode_result[$d], $pos_start_formato, $pos_end_formato );
if ($output == "avi" || $output == "mp4" || $output == "asf" || $output == "fla" || $output == "flv" || $output == "mov" || $output == "rm" || $output == "rmvb" || $output == "ra" || $output == "mp3" || $output == "mpg" || $output == "mpeg" || $output == "qt" || $output == "wma" || $output == "wmv") {
?> <div id="myElement"></div>
<?php $file = $path."/".$explode_result [$d];?>
<button type="button" onclick='playVideo("<?php echo $file;?>")'>Visualizza video</button>
<?php
} elseif ($output == "jpg" || $output == "png" || $output == "bmp" || $output == "jpeg" || $output == "gif" || $output == "png" || $output == "pict" || $output == "tga" || $output == "tiff" || $output == "djvu" || $output == "pcx") {
$image = $path . "/" . $explode_result [$d];?>
<div ><img class="contentImg" src="<?php echo $image;?>" alt="Image" >
</div><?php
}
}
} ?>
</div>
<div class="contentRiposta" style="border-width: 2px; border-style: solid; border-color: red;"><?php switch ($view_type) {
case "radio" :
$field_split = explode("/", $view_field);
for ($a=0;$a<count($field_split)-1;$a++){
$field = $field_split[$a];
echo "<input type=\"radio\" name=\"risposta[]\" value=\"$field\">$field<br>";
}
break;
case "text" :
echo "<textarea name=\"risposta[]\" rows=\"6\" cols=\"100\"></textarea><br>";
break;
case "checkbox" :
$field_split = explode("/", $view_field);
for ($a=0;$a<count($field_split)-1;$a++){
$field = $field_split[$a];
echo "<input type=\"checkbox\" name=\"risposta[]\" value=\"$field\">$field<br>";
}
break;
case "range" :
?>
<div id="slider">
<input name="risposta[]" min="0" max="100" step="0.01" class="bar" type="range" id="rangeinput<?php echo $i;?>" value="50" onchange="rangevalue<?php echo $i;?>.value=value"/>
<span class="highlight"></span>
<output class="" id="rangevalue<?php echo $i?>">50</output>
</div>
<?php
break;
}
?></div>
<?php $dynamic_id++;
} ?>
</div>
<div class="InputButton"><input type="submit" value="Invia"></div>
</form></body></html>
Questo è il file che elabora il form
Codice PHP:
session_start();
$id_quest = $_SESSION ['view_id_questionario'];
var_dump($_POST);
// $id_dom = $_POST['id_domanda'];
// $testo_domanda = $_POST['testoDomanda'];
// $riposta_domanda = $_POST['risposta'];
if (isset($_POST['id_domanda'])){
$count_domande = count($_POST['id_domanda']);
for($i=0;$i<count($_POST['id_domanda']);$i++){
$id_dom = $_POST['id_domanda'][$i];
$testo_domanda = $_POST['testoDomanda'][$i];
// echo strlen($testo_domanda)."<br>";
//togliere gli spazi della domanda if (isset($_POST['risposta'][$i])) { $riposta_domanda = $_POST['risposta'][$i]; }
// echo "<br>"."ID: ".$id_dom."<br>"."Dom ".$testo_domanda."<br>"."RISP DOM ".$riposta_domanda."<br>";
//testo di ogni ddomanda diviso da / //il testo di ogni risposta sarà inseirto nel db con / come divisore
}
}