Salve ,
ho cercato di modificare lo script per includere le riposte multiple...con il risultato che adesso nn scrive + il file...inoltre nn capta + le risposte ecco i file index.php
Codice PHP:
//dichiaro come mi chiamo ^^
$me = $_SERVER['PHP_SELF'];
//inizializzo gli input
$in = array_merge($_GET,$_POST,$_COOKIE);
//includo i dati
include("quesiti.php");
//avvio la sessione
session_start();
//gestione della sessione nel caso in cui i cookie sono disabilitati
if(IsSet($_POST['PHPSESSID']) && !IsSet($_COOKIE['PHPSESSID'])){
$PHPSESSID=$_POST['PHPSESSID'];
header("Location: $me?PHPSESSID=$PHPSESSID");
}
//controllo se è presente un risultato precedente
if($in['dom'] != ""){
//guarda se era stato selezionato un campo o un area di testo
if($data[$in['dom']][$in['sel']]['tipo'] == "testo" || $data[$in['dom']][$in['sel']]['tipo'] == "campo" )
$_SESSION['risp'][$in['dom']] = $in['sel'].": ".$in['text_'.$in['sel']];
if($data[$in['dom']][$in['sel']]['tipo'] == "check")
$_SESSION['risp'][$in['dom']] = $in['sel'].": ".$in['check_'.$in['opz']];
if($data[$in['dom']][$in['sel']]['nome'])
$_SESSION['risp'][$in['dom']] = $in['sel'];
}
//imposta a 0 la domanda se non è specificata
$dom = $in['d'] ? $in['d'] : 0;
//genero il percorso x la prossima domanda
$url = $me."?d=".($dom+1);
//se bisogna lanciare un header o mettere un intestazione la si stampa da qui
$htm = "<html><head></head><body><form action='{$url}' method='post'>";
//controlla se il questionario è finito
if($dom>=$data['ndomande']){
if($_SESSION['risp'][$in['dom']]){
$rsp = $_SESSION['risp'];
ksort($rsp);
$linkf=fopen("dati.dat","a+");
fwrite($linkf,serialize($rsp)."|^*^|");
fclose($linkf);
//file_put_contents("dati.dat",serialize($rsp)."|^*^|",FILE_APPEND);
}
unset($_SESSION['risp']);
die("Il questionario è finito!!!");
}
//genero il questionario
$dat = $data[$dom];
$htm .= "<h1>Domanda: ".$dat['domanda']."</h1>
";
for($i=0;$i!=$dat['nrisp'];$i++){
//if($dat['default'] == $i)
//$htm .= "<input type='radio' id='sel' name='sel' value='{$i}' CHECKED>{$dat[$i]['nome']}
";
//else°
if($dat[$i]['nome'])
$htm .= "<input type='radio' id='sel' name='sel' value='{$i}'><label for='sel'>{$dat[$i]['nome']}</label>
";
if($dat[$i]['tipo']=="testo")
$htm .= "<label for='text_{$i}'> {$dat[$i]['label']} </label>
<textarea id='text_{$i}' name='text_{$i}' cols=30 rows=5></textarea>
";
if($dat[$i]['tipo']=="campo")
$htm .= "<label for='text_{$i}'> {$dat[$i]['label']} </label>
<input id='text_{$i}' name='text_{$i}'>
";
if($dat[$i]['tipo']=="check")
$htm .= "<input type='checkbox' id='check_{$i}' name='check_{$i}' value='{$i}' ><label for='check_{$i}'>{$dat[$i]['opz']}</label>
";
}
$htm .= "
<input type='submit' value='Invia'><input type='hidden' name='dom' value='{$dom}'><input type='hidden' name='PHPSESSID' value='{$in['PHPSESSID']}'></form></body></html>";
//stampo il tutto
echo($htm);
e quesiti.php (solo un esempio della nuova strutt. il resto è uguale)
Codice PHP:
$data[15]['domanda'] = "Quale tipo di risoluzione delloschermo adotta sul suo PC?";
$data[15]['nrisp'] = 7;
$data[15][0]['nome'] = "640x480";
$data[15][1]['nome'] = "800x600";
$data[15][2]['nome'] = "1024x768";
$data[15][3]['nome'] = "1280x800";
$data[15][4]['nome'] = "Altro";
$data[15][5]['nome'] = "Non so";
$data[15][6]['label'] = "Se ha risposto Altro, scriva il tipo di risoluzione utilizzata:";
$data[15][6]['tipo'] = "campo";
$data[16]['domanda'] = "Quale browser utilizza per la navigazione su internet?";
$data[16]['nrisp'] = 4;
$data[16][0]['nome'] = "Mozilla/Firefox";
$data[16][1]['nome'] = "Internet Explorer";
$data[16][2]['nome'] = "Opera";
$data[16][3]['nome'] = "Altro";
$data[16][2]['label'] = "Se ha risposto Altro, elenchi il browser che utilizza per la navigazione:";
$data[16][3]['tipo'] = "campo";
$data[17]['domanda'] = "Quali siti internet visita di solito?";
$data[17]['nrisp'] = 4;
$data[17][0]['opz'] = "Giornali e/o riviste";
$data[17][0]['tipo'] = "check";
$data[17][1]['opz'] = "Posta elettronica";
$data[17][1]['tipo'] = "check";
$data[17][2]['opz'] = "Altro";
$data[17][2]['tipo'] = "check";
$data[17][3]['opz'] = "Forum";
$data[17][3]['tipo'] = "check";
$data[17][4]['opz'] = "Ricerche varie";
$data[17][4]['tipo'] = "check";
$data[17][5]['label'] = "Se ha risposto Altro, elenchi i siti che visita di solito:";
$data[17][5]['tipo'] = "testo";
$data[18]['domanda'] = "Quale motore di ricerca usa solitamente?";
$data[18]['nrisp'] = 4;
$data[18][0]['nome'] = "Google";
$data[18][1]['nome'] = "Yahoo";
$data[18][2]['nome'] = "Virgilio";
$data[18][3]['label'] = "Altro:";
$data[18][3]['tipo'] = "campo";
cosa sbaglio?