questionrand.cgi

#!/usr/bin/perl

use lib '/usr/local/lib/perl/cgi-lib';
use CGI;
#use Pg;

$query = new CGI;
$name = $query->param('name');
@past =($query->param('past'));#1週目は何の値も入らない。2週目以降は前回までの$past[$quiz]の値が入り、記憶していく
$quiz =$query->param('quiz');
#$word = $query->param('word');
$firstChecker = $query->param('firstChecker');
$num = $query->param('num');
$outputnumber = $quiz;#2週目以降はひとつ前の$past[$quiz]の値が入る。resultdata.csvに出力する値

#@q1 = $query->param('Q1');
#$q1num = scalar(@Q1); #チェックボックスにチェックした数
#参考:http://chaichan.web.infoseek.co.jp/qa4000/qa4037.htm

$q2 = $query->param('Q2');
$q3 = $query->param('Q3');
$q4 = $query->param('Q4');
$q5 = $query->param('Q5');
$q6 = $query->param('Q6');
$q7 = $query->param('Q7');
$q8 = $query->param('Q8');
$q9 = $query->param('Q9');
$q10 = $query->param('Q10');
$q11 = $query->param('Q11');
$q12 = $query->param('Q12');
$q13 = $query->param('Q13');
$q14 = $query->param('Q14');
$q15 = $query->param('Q15');
$q16 = $query->param('Q16');
$q17 = $query->param('Q17');
$q18 = $query->param('Q18');
$q19 = $query->param('Q19');
$q20 = $query->param('Q20');
$q21 = $query->param('Q21');
$q22 = $query->param('Q22');
$q23 = $query->param('Q23');
$q24 = $query->param('Q24');
$q25 = $query->param('Q25');
$q26 = $query->param('Q26');
$q27 = $query->param('Q27');
$qfree = $query->param('Qfree');

print "Content-type:text/html\n\n";
print "<HTML><HEAD><META HTTP-EQUIV='Content-Type' CONTENT='text/html;CHARSET=UTF8'>\n";
print "<TITLE>アンケートページ</TITLE></HEAD></HTML>\n";
print "<BODY>\n";
$outputLine = "$name,$outputnumber,@q1[0..8],$q2,$q3,$q4,$q5,$q6,$q7,$q8,$q9,$q10,$q11,$q12,$q13,$q14,$q15,$q16,$q17,$q18,$q19,$q20,$q21,$q22,$q23,$q24,$q25,$q26,$q27,";
$outputLine =~ s/\outputLine*$//; #改行コード取り去り
#print "$outputLine";

#ひとつ前のページの入力結果が合っているかどうか(矛盾がないか)を判定
@checkRadio = ($q2, $q3, $q4, $q5, $q6, $q7, $q8, $q9, $q10, $q11, $q12, $q13, $q14, $q15, $q16, $q17, $q18, $q19, $q20, $q21, $q22, $q23, $q24, $q25, $q26, $q27);#(2週目以降)ひとつ前の結果が入ったまま
$checkCounter = 0;
$checkError = -1;#下のfor文で、エラーがなければ-1のまま
$checkBox = -1;
if($firstChecker!=1){
    for($i=0;$i<26;$i++){
if($checkRadio[$i] == ""){
    $checkError = $i+1;
    print "<font color='red'>$checkError番目の音声が評価されていません。</font><BR>\n";
}
    }
}
    
#for (@q1) {
    #print "$checkCounter : チェックボックスは $_ ラジオボタンは @checkRadio[($_ - 1)]<BR>\n";
    #チェックボックスにチェックを入れているのに、ラジオボタンを選択していないとき
#    if ( ($_ != "") && (@checkRadio[($_ - 1)] == "") ) {
# print "<font color='red'>チェックボックスにチェックをした印象項目は、ラジオボタンで強さを評価してください。</font><BR>\n";
# $fileLineNumber = $fileLineNumber - 1;
# $checkError = $checkCounter;
# last;
#    }
#    if ($_ != "") {
# $checkBox = 0;
#    }
#    $checkCounter++;
#}

#if ( ($checkBox == -1) && ($firstChecker == 0) ) {
#    print "<font color='red'>一つ以上の項目にチェックを入れてください。</font><BR>\n";
#    print "<font color='red'>ブラウザの「戻る」ボタンを押して前の画面に戻るか、この画面であらためて入力してください。</font><BR>\n";
#    $fileLineNumber = $fileLineNumber - 1;
#    $checkError = 0;
#}

#上の判定の結果、入力にエラーがなければ、ひとつ前のページの結果を書き出す
if ($checkError == -1) {
    #現在時刻も出力
    $times = localtime();
    $outputLine = "$times,$outputLine";
    $outputLine .= "$qfree";
    open(OUT, ">> resultdata.csv");
    print(OUT "$outputLine\n");
    print("保存したデータ:$outputLine<BR>\n");
    close(OUT);
}else{
    print("checkError:$checkError<BR>\n");
    print "<font color='red'>ブラウザの「戻る」ボタンを押して前の画面に戻り入力してください。</font><BR>\n";
}
    
#再生する音声ファイルナンバーを設定(ランダム)
for($quiz=int(rand(100));$past[$quiz]==$quiz+1;$quiz=int(rand(100))){
}
$past[$quiz]=$quiz+1;


#回答対象の番号をセット
  #$num=ループした回数
print"回答状況:@past \n";
if($num<2){
print "<H1>音声印象評定アンケート</H1>\n";
print "<HR>\n";
print"<FORM NAME='form' METHOD='POST' ACTION='question.cgi'>\n";
     print"<INPUT TYPE='hidden' NAME='past' VALUE='@past'>\n";
print"<INPUT TYPE='hidden' NAME='quiz' VALUE='$past[$quiz]'>\n";


        $num++;
        print"<INPUT TYPE='hidden' NAME='num' VALUE='$num'>\n";

        print "音声NO.<B><A HREF=\"data/$past[$quiz].WAV\" target=\"_blank\">$past[$quiz]</A></B>($num / 100問目)<BR><BR>\n";
        #$word = $xx;


     $textSpace = "&nbsp;&nbsp&nbsp;&nbsp"; #余白の長さを指定
#     $text1 = "(多少感じられる)";
# $text5 = "(強く感じられる)";
$space = "&nbsp;&nbsp&nbsp;&nbsp";

print "上のリンクをクリックして音声を聴き、次の全ての項目について、その印象がどれくらいか、1から7の7段階の評価で選んでください。<BR>\n";
print "各項目について中立の印象は4になります。中立の場合には必ず4にチェックしてください。<BR>\n";
print "音声は何度聴いても構いません。<BR>\n";
print "<BR>\n";
print "<TABLE cellspacing=1 cellpadding=4>\n";

$i=1;
print "<tr><td>$space</td><td><B>$i</B> : 低い声(1)〜高い声(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q2' value='1'>1 </td><td><input type='radio' name='Q2' value='2'>2 </td><td><input type='radio' name='Q2' value='3'>3 </td><td><input type='radio' name='Q2' value='4'>4 </td><td><input type='radio' name='Q2' value='5'>5 </td><td><input type='radio' name='Q2' value='6'>6 </td><td><input type='radio' name='Q2' value='7'>7 </td></tr>\n";
$i++;
print "<tr><td>$space</td><td><B>$i</B> : かすれた声(1)〜澄んだ声(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q3' value='1'>1 </td><td><input type='radio' name='Q3' value='2'>2 </td><td><input type='radio' name='Q3' value='3'>3 </td><td><input type='radio' name='Q3' value='4'>4 </td><td><input type='radio' name='Q3' value='5'>5 </td><td><input type='radio' name='Q3' value='6'>6 </td><td><input type='radio' name='Q3' value='7'>7 </td></tr>\n";
$i++;
print "<tr><td>$space</td><td><B>$i</B> : 落ち着きのない声(1)〜落ち着きのある声(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q4' value='1'>1 </td><td><input type='radio' name='Q4' value='2'>2 </td><td><input type='radio' name='Q4' value='3'>3 </td><td><input type='radio' name='Q4' value='4'>4 </td><td><input type='radio' name='Q4' value='5'>5 </td><td><input type='radio' name='Q4' value='6'>6 </td><td><input type='radio' name='Q4' value='7'>7 </td></tr>\n";
$i++;
print "<tr><td>$space</td><td><B>$i</B> : 弱々しい声(1)〜迫力のある声(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q5' value='1'>1 </td><td><input type='radio' name='Q5' value='2'>2 </td><td><input type='radio' name='Q5' value='3'>3 </td><td><input type='radio' name='Q5' value='4'>4 </td><td><input type='radio' name='Q5' value='5'>5 </td><td><input type='radio' name='Q5' value='6'>6 </td><td><input type='radio' name='Q5' value='7'>7 </td></tr>\n";
$i++;
print "<tr><td>$space</td><td><B>$i</B> : 細い声(1)〜太い声(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q6' value='1'>1 </td><td><input type='radio' name='Q6' value='2'>2 </td><td><input type='radio' name='Q6' value='3'>3 </td><td><input type='radio' name='Q6' value='4'>4 </td><td><input type='radio' name='Q6' value='5'>5 </td><td><input type='radio' name='Q6' value='6'>6 </td><td><input type='radio' name='Q6' value='7'>7 </td></tr>\n";
$i++;
print "<tr><td>$space</td><td><B>$i</B> : 張りのない声(1)〜張りのある声(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q7' value='1'>1 </td><td><input type='radio' name='Q7' value='2'>2 </td><td><input type='radio' name='Q7' value='3'>3 </td><td><input type='radio' name='Q7' value='4'>4 </td><td><input type='radio' name='Q7' value='5'>5 </td><td><input type='radio' name='Q7' value='6'>6 </td><td><input type='radio' name='Q7' value='7'>7 </td></tr>\n";
$i++;
print "<tr><td>$space</td><td><B>$i</B> : 声の小さい(1)〜声の大きい(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q8' value='1'>1 </td><td><input type='radio' name='Q8' value='2'>2 </td><td><input type='radio' name='Q8' value='3'>3 </td><td><input type='radio' name='Q8' value='4'>4 </td><td><input type='radio' name='Q8' value='5'>5 </td><td><input type='radio' name='Q8' value='6'>6 </td><td><input type='radio' name='Q8' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 元気のない(1)〜元気のある(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q9' value='1'>1 </td><td><input type='radio' name='Q9' value='2'>2 </td><td><input type='radio' name='Q9' value='3'>3 </td><td><input type='radio' name='Q9' value='4'>4 </td><td><input type='radio' name='Q9' value='5'>5 </td><td><input type='radio' name='Q9' value='6'>6 </td><td><input type='radio' name='Q9' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : ぼそぼそとした(1)〜はっきりした(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q10' value='1'>1 </td><td><input type='radio' name='Q10' value='2'>2 </td><td><input type='radio' name='Q10' value='3'>3 </td><td><input type='radio' name='Q10' value='4'>4 </td><td><input type='radio' name='Q10' value='5'>5 </td><td><input type='radio' name='Q10' value='6'>6 </td><td><input type='radio' name='Q10' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 遅い(1)〜速い(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q11' value='1'>1 </td><td><input type='radio' name='Q11' value='2'>2 </td><td><input type='radio' name='Q11' value='3'>3 </td><td><input type='radio' name='Q11' value='4'>4 </td><td><input type='radio' name='Q11' value='5'>5 </td><td><input type='radio' name='Q11' value='6'>6 </td><td><input type='radio' name='Q11' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : のんきな(1)〜せわしげな(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q12' value='1'>1 </td><td><input type='radio' name='Q12' value='2'>2 </td><td><input type='radio' name='Q12' value='3'>3 </td><td><input type='radio' name='Q12' value='4'>4 </td><td><input type='radio' name='Q12' value='5'>5 </td><td><input type='radio' name='Q12' value='6'>6 </td><td><input type='radio' name='Q12' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : しどろもどろな(1)〜なめらかな(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q13' value='1'>1 </td><td><input type='radio' name='Q13' value='2'>2 </td><td><input type='radio' name='Q13' value='3'>3 </td><td><input type='radio' name='Q13' value='4'>4 </td><td><input type='radio' name='Q13' value='5'>5 </td><td><input type='radio' name='Q13' value='6'>6 </td><td><input type='radio' name='Q13' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 歯切れの悪い(1)〜歯切れの良い(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q14' value='1'>1 </td><td><input type='radio' name='Q14' value='2'>2 </td><td><input type='radio' name='Q14' value='3'>3 </td><td><input type='radio' name='Q14' value='4'>4 </td><td><input type='radio' name='Q14' value='5'>5 </td><td><input type='radio' name='Q14' value='6'>6 </td><td><input type='radio' name='Q14' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 落ち着きのない(1)〜落ち着きのある(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q15' value='1'>1 </td><td><input type='radio' name='Q15' value='2'>2 </td><td><input type='radio' name='Q15' value='3'>3 </td><td><input type='radio' name='Q15' value='4'>4 </td><td><input type='radio' name='Q15' value='5'>5 </td><td><input type='radio' name='Q15' value='6'>6 </td><td><input type='radio' name='Q15' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 静的な(1)〜動的な(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q16' value='1'>1 </td><td><input type='radio' name='Q16' value='2'>2 </td><td><input type='radio' name='Q16' value='3'>3 </td><td><input type='radio' name='Q16' value='4'>4 </td><td><input type='radio' name='Q16' value='5'>5 </td><td><input type='radio' name='Q16' value='6'>6 </td><td><input type='radio' name='Q16' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 穏やかな(1)〜激しい(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q17' value='1'>1 </td><td><input type='radio' name='Q17' value='2'>2 </td><td><input type='radio' name='Q17' value='3'>3 </td><td><input type='radio' name='Q17' value='4'>4 </td><td><input type='radio' name='Q17' value='5'>5 </td><td><input type='radio' name='Q17' value='6'>6 </td><td><input type='radio' name='Q17' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 嫌いな(1)〜好きな(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q18' value='1'>1 </td><td><input type='radio' name='Q18' value='2'>2 </td><td><input type='radio' name='Q18' value='3'>3 </td><td><input type='radio' name='Q18' value='4'>4 </td><td><input type='radio' name='Q18' value='5'>5 </td><td><input type='radio' name='Q18' value='6'>6 </td><td><input type='radio' name='Q18' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 不快な(1)〜心地よい(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q19' value='1'>1 </td><td><input type='radio' name='Q19' value='2'>2 </td><td><input type='radio' name='Q19' value='3'>3 </td><td><input type='radio' name='Q19' value='4'>4 </td><td><input type='radio' name='Q19' value='5'>5 </td><td><input type='radio' name='Q19' value='6'>6 </td><td><input type='radio' name='Q19' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 感じの悪い(1)〜感じの良い(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q20' value='1'>1 </td><td><input type='radio' name='Q20' value='2'>2 </td><td><input type='radio' name='Q20' value='3'>3 </td><td><input type='radio' name='Q20' value='4'>4 </td><td><input type='radio' name='Q20' value='5'>5 </td><td><input type='radio' name='Q20' value='6'>6 </td><td><input type='radio' name='Q20' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 親しみにくい(1)〜親しみやすい(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q21' value='1'>1 </td><td><input type='radio' name='Q21' value='2'>2 </td><td><input type='radio' name='Q21' value='3'>3 </td><td><input type='radio' name='Q21' value='4'>4 </td><td><input type='radio' name='Q21' value='5'>5 </td><td><input type='radio' name='Q21' value='6'>6 </td><td><input type='radio' name='Q21' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : かたい(1)〜やわらかい(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q22' value='1'>1 </td><td><input type='radio' name='Q22' value='2'>2 </td><td><input type='radio' name='Q22' value='3'>3 </td><td><input type='radio' name='Q22' value='4'>4 </td><td><input type='radio' name='Q22' value='5'>5 </td><td><input type='radio' name='Q22' value='6'>6 </td><td><input type='radio' name='Q22' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 悲しくなる(1)〜嬉しくなる(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q23' value='1'>1 </td><td><input type='radio' name='Q23' value='2'>2 </td><td><input type='radio' name='Q23' value='3'>3 </td><td><input type='radio' name='Q23' value='4'>4 </td><td><input type='radio' name='Q23' value='5'>5 </td><td><input type='radio' name='Q23' value='6'>6 </td><td><input type='radio' name='Q23' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 重々しい(1)〜軽やかな(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q24' value='1'>1 </td><td><input type='radio' name='Q24' value='2'>2 </td><td><input type='radio' name='Q24' value='3'>3 </td><td><input type='radio' name='Q24' value='4'>4 </td><td><input type='radio' name='Q24' value='5'>5 </td><td><input type='radio' name='Q24' value='6'>6 </td><td><input type='radio' name='Q24' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 無礼な(1)〜礼儀正しい(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q25' value='1'>1 </td><td><input type='radio' name='Q25' value='2'>2 </td><td><input type='radio' name='Q25' value='3'>3 </td><td><input type='radio' name='Q25' value='4'>4 </td><td><input type='radio' name='Q25' value='5'>5 </td><td><input type='radio' name='Q25' value='6'>6 </td><td><input type='radio' name='Q25' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 下品な(1)〜上品な(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q26' value='1'>1 </td><td><input type='radio' name='Q26' value='2'>2 </td><td><input type='radio' name='Q26' value='3'>3 </td><td><input type='radio' name='Q26' value='4'>4 </td><td><input type='radio' name='Q26' value='5'>5 </td><td><input type='radio' name='Q26' value='6'>6 </td><td><input type='radio' name='Q26' value='7'>7 </td></tr>\n";
$i++;
   print "<tr><td>$space</td><td><B>$i</B> : 粗野な(1)〜繊細な(7) </td><td>&nbsp;&nbsp&nbsp;&nbsp</td><td><input type='radio' name='Q27' value='1'>1 </td><td><input type='radio' name='Q27' value='2'>2 </td><td><input type='radio' name='Q27' value='3'>3 </td><td><input type='radio' name='Q27' value='4'>4 </td><td><input type='radio' name='Q27' value='5'>5 </td><td><input type='radio' name='Q27' value='6'>6 </td><td><input type='radio' name='Q27' value='7'>7 </td></tr>\n";

print "</TABLE>\n";
print "<BR>\n";

print "何かお気づきのことがありましたら自由にお書きください。\n";
print "<table cellspacing=0 cellpadding=0>\n";
print "<tr><td>$space</td><td><textarea name='Qfree' cols=60 rows=3></textarea></td></tr>\n";
print "</table>\n";

print "<INPUT TYPE='hidden' NAME='name' VALUE='$name'><BR>\n";
# print "<INPUT TYPE='hidden' NAME='word' VALUE='$word'><BR>\n";
print "<INPUT TYPE='hidden' NAME='firstChecker' VALUE='0'><BR>\n";

print" <INPUT TYPE='submit' NAME='submit' VALUE='次へ'><BR>\n";
     print" </FORM>\n";
print "<A HREF='http://shower.human.waseda.ac.jp/~ibi/dialogue/200812fukuda/index.html
'>アンケートトップページへ</A><BR>\n";
print "<BR>\n";

close(IN);
}else{
    print "<H1>音声印象評定アンケート</H1>\n";
    print "<HR>\n";
    print "質問は以上です。お疲れ様でした。<BR>\n";
    print "アンケートにご協力いただき、ありがとうございました。<BR>\n";
    print "お手数ですが、終りましたことを<A HREF=\"mailto:ben-ten@fuji.waseda.jp\">担当者(揖斐)</A>まで御連絡下さい。<BR>\n";
    print "<HR>\n";
    print "<A HREF='http://shower.human.waseda.ac.jp/~ibi/dialogue/200812fukuda/index.html'>アンケートトップページへ</A><BR>\n";
    print "</BODY>\n";
    print "</HTML>\n";
}

    print "</BODY>\n";
    print "</HTML>\n";
最終更新:2009年06月15日 12:12
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。