• ベストアンサー

アンケートの質問を複数にしたい

先日「アンケートCGIについて」という表題で質問させて頂きました。 ご回答下さいました方々、その節はどうもありがとうございました。 また行き詰まってしまったので、ご教授下さいますようお願い致します。 http://www.rescue.ne.jp/cgi/weban/の、アンケートを使わせて頂いております。 このCGIは、通常ひとつの質問のみ対応しているのですが、これを修正して複数の質問を設置したいと考えております。 CGIは、http://www.rescue.ne.jp/cgi/weban/dl/an.cgiに保存されているのですが、これのどの部分を修正すれよいのでしょうか? HTMLの【name】は"regist"になっており、CGIの"regist"部分を修正すればよいのかと思ったのですが、知識不足で修正することができませんでした。 index.html(フォームページ) <input type=checkbox name="regist" value="項目1">項目1<br> <input type=checkbox name="regist" value="項目2">項目2<br> お分かりになる方がいらっしゃいましたら、ヒントでも結構ですのでどうかご教授下さいますようお願い致します。

  • CGI
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • okmotokun
  • ベストアンサー率59% (92/155)
回答No.2

方法はいくつかあるでしょうが、回答項目の type属性値がcheckboxで、name属性値が同じなら、フォームからの投稿データは単純に保存しているだけでしょうから、次のように、たとえば name属性値に連番を付けて追加すれば、質問はいくつでも増やせるでしょう。 ◆質問2<br> <input type=checkbox name="regist2" value="項目21">項目21<br> <input type=checkbox name="regist2" value="項目22">項目22<br> ◆質問3<br> <input type=checkbox name="regist3" value="項目31">項目31<br> <input type=checkbox name="regist3" value="項目32">項目32<br>  :  :

patsaysnow
質問者

お礼

ご回答頂きありがとうございました。 また、お礼が遅くなり、誠に申し訳ありませんでした。

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

フォームから送信されるデータは、順次ハッシュないし配列に保存されます。  nameをハッシュ名に、その値をそのハッシュの値に入れると、同nameがあると当然上書きされてしまいます。名前が異なれば問題ない。  解決方法として、順次配列に入れていくか、すでにハッシュ値がある場合は、追記するようにすれば良いです。  push @names,$name;  push @value,$value; とか  if($hash{"$name"}ne ''){ $hash{"$name"}.=$value;} とか、アンケートによって、ご自由にどうぞ・・

patsaysnow
質問者

お礼

ご回答頂きありがとうございました。 また、お礼が遅くなり、誠に申し訳ありませんでした。

関連するQ&A

  • アンケートフォームがうまく動かない

    プロバイダーは日本テレコム、レンタルサーバーはロリポップです。 以下のように、アンケートフォームを作りました。 <FORM ACTION="/cgi-bin/enquete.cgi?user=○○○○&address=○○○○@○○" METHOD="post"> 名前 <INPUT TYPE="text" NAME="name" SIZE="18" maxlength="30"><br><br> 居住地(都道府県のみ) <INPUT TYPE="text" NAME="house" SIZE="18" maxlength="30"><br><br> メールアドレス <INPUT TYPE="text" NAME="name" SIZE="18" maxlength="30"><br><br> 年齢 <input type="checkbox"name="old"value="19歳以下">19歳以下 <input type="checkbox"name="old"value="20~25歳未満">20~25歳未満 <input type="checkbox"name="old"value="25~30歳未満">25~30歳未満 <input type="checkbox"name="old"value="30~35歳未満">30~35歳未満 <input type="checkbox"name="old"value="35~40歳未満">35~40歳未満 <input type="checkbox"name="old"value="40~45歳未満">40~45歳未満 <input type="checkbox"name="old"value="45~50歳未満">45~50歳未満 <input type="checkbox"name="old"value="50歳以上">50歳以上<br><br> アンケートにご協力いただきましてありがとうございました。<br><br> <INPUT TYPE="SUBMIT" VALUE="送信する"> <INPUT TYPE="RESET" VALUE="書き直す"> </FORM> 以上のようなものです。 ですが、送信ボタンを押しても、ロリポップ側で、「指定されたページ(URL)は見つかりません。」と出ます。 上部の○○部分、2つありますが、後半のほうは送信先となるアドレスを記入しますよね。最初のほうの○○には何を記入するのですか? といいますか・・・上のHTMLは全然ダメですか? できるだけ平易に教えていただけましたらと思います。

  • php アンケートについての質問

    htmlのフォームから送信 phpでアンケート結果を受け取る ようなものを書きましたがphpの受け取る処理でエラーが起きてしまうので@を書いて何とか動くようにしました。@を使わずにエラーを修正したいのですがうまくいきません。どなたか助けてさい <html> <p> </p> <h3>アンケート</h3> <form name="form" action="upload1.php" method="GET"> <body bgcolor="#f40fff" text="#ffffff"> <p> お名前を入力して下さい:<br> <input type="text" name="simei"> </p> <p> 性別を選んで下さい。<br> <input type="radio" name="gender" value="男性">男性です<br> <input type="radio" name="gender" value="女性">女性です<br> </p> <p> この大学を何で知りましたか?<br> <input type="checkbox" name="check1" value="メディア媒体"/> メディア媒体で<br> <input type="checkbox" name="check2" value="イラスト"/> イラストで<br> <input type="checkbox" name="check3" value="その他"/> その他<br> </p> <p> 最近ハマっていることは?<br> <input type="checkbox" name="check4" value="サークル、部活"/> サークル部活など<br> <input type="checkbox" name="check5" value="得にない"/> 得にない<br> <input type="checkbox" name="check6" value="その他"/> その他<br> </p> <p> 今やりたいことは?<br> <input type="checkbox" name="check7" value="課題"/> 課題など<br> <input type="checkbox" name="check8" value="得にない"/> 得にない<br> <input type="checkbox" name="check9" value="その他"/> その他<br> </p> <p> <input type="submit" name="submit" value="送信"> </p> </body> </html> php <html> <body bgcolor="#f40fff" text="#ffffff"> <p> </p> <h3>アンケート</h3> <p> <?php print(date('A:g時i分s秒').'<br>'); ?> <b>お名前:</b><br> <?php print( @$_REQUEST["simei"] ); ?> </p> <p> <b>性別:</b><br> <?php print( @$_REQUEST["gender"] ); ?> </p> <p> <b>この大学を何で知りましたか:</b><br> <?php print( @$_REQUEST["check1"] ); ?><br> <?php print( @$_REQUEST["check2"] ); ?><br> <?php print( @$_REQUEST["check3"] ); ?><br> </p> <p> <b>最近ハマっていることは:</b><br> <?php print( @$_REQUEST["check4"] ); ?><br> <?php print( @$_REQUEST["check5"] ); ?><br> <?php print( @$_REQUEST["check6"] ); ?><br> </p> <p> <b>今やりたいことは:</b><br> <?php print( @$_REQUEST["check7"] ); ?><br> <?php print( @$_REQUEST["check8"] ); ?><br> <?php print( @$_REQUEST["check9"] ); ?><br> </p> <p> <?php $life = 60 * 60 * 24 * 30; if(isset($_COOKIE["count"])) { $count = $_COOKIE["count"] + 1; } else { $count = 1; } setcookie("count", $count, time() + $life); ?> <?php echo $count, "回目の訪問です。\n"; ?> </body>

    • ベストアンサー
    • PHP
  • php アンケートについての質問

    アンケートフォームを作成しました。回答ボタンを押すとcsvファイルにアンケート結果の内容を保存できるように造りたいのですが参考になるようなものがなくて困っています。どなたか参考になるようなソースなどをお教えくださると助かります。 <HTML> <HEAD> <TITLE>テキスト送信のテスト></TITLE> </HEAD> <FORM name="form1"method="post" action="view.php"> <Div Align="center">名前:<BR> <INPUT type="text"name="onamae"> <BR> 性別:<BR> <INPUT type="radio"name="gender" value="男">男<BR> <INPUT type="radio"name="gender" value="女">女<BR> <BR> <SELECT name="syokugyou"> <OPTION value""selectd>職業をえらんでください</OPTION> <OPTION value"学生">学生</OPTION> <OPTION value"会社員">会社員</OPTION> <OPTION value"公務員">公務員</OPTION> <OPTION value"自営業">自営業</OPTION> <OPTION value"その他">その他</OPTION> </SELECT><BR> <p></p> 満足度を答えてください:<BR> <INPUT type="checkbox" name="hobby[]" value="満足"> 満足<BR> <INPUT type="checkbox" name="hobby[]" value="やや満足"> やや満足<BR> <INPUT type="checkbox" name="hobby[]" value="普通"> 普通<BR> <INPUT type="checkbox" name="hobby[]" value="やや不満"> やや不満<BR> <INPUT type="checkbox" name="hobby[]" value="不満"> 不満<BR> <BR> <INPUT type="submit" value="回答"> </div> </FORM> </BOBY> </HTML> <HTML> <HEAD> <TITLE>PHPのテスト</TITLE> </HEAD> <BOBY> <p> <Div Align="center">名前</p> <?php print $_POST["onamae"]; ?> <p> <?php if(isset($_POST["gender"])&&($_POST["gender"]=="男"|| $_POST["gender"]=="女")){ print"性別:<BR>"; print $_POST["gender"]; }else{ print"性別を選んでください。<BR>"; } ?> <p> </p> <?php if($_POST["syokugyou"]<>""){ print"職業:<BR>"; print$_POST["syokugyou"]; }else{ print"職業をえらんでください<BR>"; } ?> <p>

    • ベストアンサー
    • PHP
  • チェックボックスにチェックしたファイルだけをダウンロードできるようにしたい

    サーバーにpdfファイルを10個保存しています。 HTMLページでチェックボックスにチェックを入れたpdfだけを ダウンロードできるようにURL入りの返信メールを自動的に送りたい のですが、やり方がわかりません。 どなたか詳しい人がおられましたら、教えていただけますでしょうか。 一応チェックボックスの過去の回答を見たのですが見当たりません。 (全て見れたわけではないですが) チェックボックス表示までは以下のところまでできたのですが。 よろしくお願いします。 <form> <input type="checkbox" name="グループ1" value="項目1">Apdf<br><br><br><br> <input type="checkbox" name="グループ1" value="項目2">Bpdf<br><br><br><br> <input type="checkbox" name="グループ1" value="項目3">Cpdf<br><br><br><br> <input type="checkbox" name="グループ1" value="項目4">Dpdf<br><br><br><br> <input type="checkbox" name="グループ1" value="項目5">Epdf<br><br><br><br> <input type="checkbox" name="グループ1" value="項目6">Fpdf<br><br><br><br> <input type="checkbox" name="グループ1" value="項目7">Gpdf<br><br><br><br> <input type="checkbox" name="グループ1" value="項目8">Hpdf<br><br><br><br> <input type="checkbox" name="グループ1" value="項目9">Ipdf<br><br><br><br> <input type="checkbox" name="グループ1" value="項目10">Jpdf<br><br><br><br> </form>

  • JavaScriptでcheckboxの入力個数制限

    以下のようなチェックボックスがあります。 3つ以上チェックできないようにしたいのですが、JavaScriptで可能でしょうか? <FORM method=POST action="aaa.cgi" name="FORM1"> <input type="checkbox" name="Q1" value="1">1<br> <input type="checkbox" name="Q2" value="1">2<br> <input type="checkbox" name="Q3" value="1">3<br> <input type="checkbox" name="Q4" value="1">4<br> <input type="checkbox" name="Q5" value="1">5<br> </form>

  • AUだけ表示されない!

    CGIをつかって簡易データベースを作っています。 HTML出力したときに、DoCoMoとSoftbankでは表示される場所が、auだけ表示されません。 auは仕様が違うことはしっています。しかし、何が原因で表示されないかがわかりません。 みなさん力を貸してください。 表示されない箇所:formタグのところの項目名、<H1>タグの見出し文字 以下ソースです。 -------HTMLソース------- <html> <head> <title>タイトル</title> </head> <Body> <H1>タイトル</H1> <FONT size="-1"> <Hr> <BR> 【&#xE6DC;検索対象】<BR> <Form Method="get" Action="./*****.cgi"> <input type="checkbox" name="type" value="1" >&#xE6D8;項目1 <input type="checkbox" name="type" value="2" >&#xE68C;項目2 <input type="checkbox" name="type" value="3" >&#xE6B1;項目3 <input type="checkbox" name="type" value="4" >&#xE6AE;項目4 <input type="checkbox" name="type" value="5" >&#xE731;項目5 <input type="checkbox" name="type" value="6" >&#xE689;項目6 <BR> <Input Type="text" Name="search" size="20" value=""></input> <Input Type="submit" Value="検索"></input> </Form> <BR> <HR> <A Href="./*****.cgi" accesskey="0">&#xE6EB;トップページ</A><BR> <A Href="./*****.cgi" accesskey="9">&#xE6EA;管理者モード</A><BR> </font> </body></html>

    • ベストアンサー
    • HTML
  • phpによるアンケート csvに保存

    <html> <p> </p> <Div Align="center"> <h3>アンケート</h3> <form name="form" action="log.csv" method="GET"> <div> <p> お名前を入力して下さい:<br> <input type="text" name="simei"> </p> <p> 性別を選んで下さい。<br> <input type="radio" name="gender" value="男性">男性です<br> <input type="radio" name="gender" value="女性">女性です<br> </p> <p> 好きなスポーツ: <select name="favorite_sports"> <option value="バスケットボール">バスケットボール</option><br> <option value="野球">野球</option><br> <option value="サッカー">サッカー</option><br> <option value="テニス">テニス</option><br> </select><br> <br> <p> 満足度をこたえてください<br> <input type="checkbox" name="check1" value="満足"/> 満足<br> <input type="checkbox" name="check2" value="やや満足"/>やや満足 <br> <input type="checkbox" name="check3" value="ふつう"/> 普通<br> <input type="checkbox" name="check3" value="やや不満"/> やや不満<br> <input type="checkbox" name="check3" value="不満"/> 不満<br> </p> <p> <p> <input type="submit" name="submit" value="回答"> </p> <?php if( isset( $_POST[ 'log.csv' ] ) ){ //テキストボックス「log.csv」に入力された内容を表示 print "送信された内容は{$_POST['log.csv']}です。\n"; } ?> </div> </body> </html> 回答ボタンを押すと内容をcsvに保存するアンケートを作りたいのですがcsvに全く反映されて内容で困っております。どなたか助けてほしいです

    • ベストアンサー
    • PHP
  • ラジオボタンとチェックボックスの計算について

    ラジオボタンとチェックボックスで選択して、その合計を表示させたいのですが、合計の最高は50になる用に作ったのですが、9点にしかなりません。 私が考えるに、<script language="JavaScript">~</script>の間が間違っていると思うのですがどうでしょうか? 皆様ご教授の程お願いします。 <script language="JavaScript"> <!-- // 項目の合計を計算 function ttlValue() { chn = 10; // ラジオボタンとチェックボックスの総数 ttl = 0; for(i=0; i<chn; i++) { if(document.nForm.elements[i].checked) { ttl += eval(document.nForm.elements[i].value); } } document.nForm.result.value = ttl; } //--> </script> </head> <body alink="#000000" bgcolor="#f0f8ff" link="#00ffff" text="#000000" vlink="#ff0000"> <br> それぞれの項目で該当する回答を1つずつ選択して下さい。 <form name="nForm">項目1<br> <input name="ch1" value="3" checked="checked" type="radio">a<br> <input name="ch1" value="2" type="radio">b<br> <input name="ch1" value="1" type="radio">c<br> <input name="ch1" value="0" type="radio">d<br> <br> 項目2<br> <input name="ch2" value="3" checked="checked" type="radio">a<br> <input name="ch2" value="2" type="radio">b<br> <input name="ch2" value="1" type="radio">c<br> <input name="ch2" value="0" type="radio">d<br> <br> 項目3<br> <input name="ch3" value="3" checked="checked" type="radio">a<br> <input name="ch3" value="2" type="radio">b<br> <input name="ch3" value="1" type="radio">c<br> <input name="ch3" value="0" type="radio">d<br> <br> 項目4<br> <input name="ch4" value="1" checked="checked" type="radio">a<br> <input name="ch4" value="0" type="radio">b<br> <br> 項目5<br> <input name="ch5" value="1" checked="checked" type="radio">a<br> <input name="ch5" value="0" type="radio">b<br> <br> オプションがあれば選択して下さい。(複数選択可)<br> <input name="bx1" value="1" type="checkbox">1<br> <input name="bx1" value="1" type="checkbox">2<br> <input name="bx1" value="1" type="checkbox">3<br> <input name="bx1" value="1" type="checkbox">4<br> <input name="bx1" value="1" type="checkbox">5<br> <input name="bx1" value="1" type="checkbox">6<br> <input name="bx1" value="1" type="checkbox">7<br> <input name="bx1" value="1" type="checkbox">8<br> <input name="bx1" value="1" type="checkbox">9<br> <input name="bx1" value="1" type="checkbox">10<br> <input name="bx1" value="1" type="checkbox">11<br> <input name="bx1" value="1" type="checkbox">12<br> <input name="bx1" value="1" type="checkbox">13<br> <input name="bx1" value="1" type="checkbox">14<br> <input name="bx1" value="1" type="checkbox">15<br> <input name="bx1" value="1" type="checkbox">16<br> <input name="bx1" value="1" type="checkbox">17<br> <input name="bx1" value="1" type="checkbox">18<br> <input name="bx1" value="1" type="checkbox">19<br> <input name="bx1" value="1" type="checkbox">20<br> <input name="bx1" value="1" type="checkbox">21<br> <input name="bx1" value="1" type="checkbox">22<br> <input name="bx1" value="1" type="checkbox">23<br> <input name="bx1" value="1" type="checkbox">24<br> あなたの獲得したメダルは何色?<br> <select name="ch2"> <option value="0" selected="selected">なし</option> <option value="5">金メダル</option> <option value="3">銀メダル</option> <option value="1">銅メダル</option> </select> <br> <br> メダル獲得まで何年かかりましたか?<br> 項目6<br> <input name="ch6" value="10" checked="checked" type="radio">20年以上<br> <input name="ch6" value="5" type="radio">19年~10年<br> <input name="ch6" value="3" type="radio">9年~5年<br> <input name="ch6" value="1" type="radio">4年~3年<br> <input name="ch6" value="0" type="radio">2年未満<br> <br> <input value="合計金額を計算" onclick="ttlValue()" type="button"><br> <br> 合計<input name="result" size="10" type="text"> </form> <br>

  • 複数の送信先を作るには・・・・・?

    以下のロジックを作ったのですが、 送信先を複数にするタグがわかりません。 どうか教えてください。 <FORM action=http://mdec.nifty.com/cgi-bin/*******.cgi method=post><INPUT type=hidden value= http://*******************com/******.html name=ok_page> <INPUT type=hidden value=**********@*****.com name=to_mail> <INPUT type=hidden value="*********" name=sub> <font color=#ff0033>メールアドレス</FONT>を入力後、ご希望の処理をチェックして下さい。<BR> E-mailアドレス : <INPUT size=30 name=from><BR><BR> ◎当店・企業からの<FONT COLOR=#FF0033>"お得な"</FONT>無料メルマガ<BR> <INPUT type=checkbox name="○店舗登録" value="【登録】"> 【登録】 <INPUT type=checkbox name="×店舗解除" value="【解除】">【解除】<BR><BR> <TR class=bgplain><TD COLSPAN="2"><INPUT type=submit value=送信> <INPUT type=reset value=クリア> </TR><BR>

    • ベストアンサー
    • HTML
  • アンケートフォームの作り方

    アンケートフォームを作りたいのですが、以下のプログラムにおいてのoutput.php の作り方がわかりません。最終的には、アンケート結果を出力(最後の質問の見る回数に関しては、これまでの平均をだす)をしたいとおもっています。http://www.standpower.com/php_form.htmlを参考にしてつくってみたもののうまくいきません。というのも、そのページに書かれている質問は1つしかないので、今回のように3つ質問があるとどうすればいいのかわからないからです。どなたか教えていただけないでしょうか? <html> <body> <b>あなたの年齢を教えてください</b> <form method = "post" action = "output.php"><br> <input type = "radio" name = "toshi" value = "1" checked>10代<br> <input type = "radio" name = "toshi" value = "2" >20代<br> <input type = "radio" name = "toshi" value = "3" >30代<br> <input type = "radio" name = "toshi" value = "4" >40代<br> <input type = "radio" name = "toshi" value = "5" >50代<br> <input type = "radio" name = "toshi" value = "6" >60代<br> <input type = "radio" name = "toshi" value = "7" >70歳以上<br><br> <b>お昼によくみる番組は?</b><br> <input type = "radio" name = "type" value = "8" checked>ピンポ<br> <input type = "radio" name = "type" value = "9" >スクランブル<br> <input type = "radio" name = "type" value = "10" >笑っていいとも<br> <input type = "radio" name = "type" value = "11" >おもいっきりいいTV<br><br> <b>週に何回見ますか?</b><br> <input type = "text", name = "test_about_other" maxlength="100"><br><br> <INPUT TYPE="submit" VALUE="送信"> <INPUT TYPE="reset" VALUE="やり直し"<BR><BR> </form> </body> </html>

    • ベストアンサー
    • PHP

専門家に質問してみよう