アプリ版:「スタンプのみでお礼する」機能のリリースについて

このようなアンケートがあるとします。

//アンケートスタート

●Q1 あなたはhtmlを使いこなしていますか?
ラジオボタン回答1 使いこなしている
ラジオボタン回答2 あまり使いこなしているといえない
ラジオボタン回答3 ぜんぜん使いこなしていない

●Q2 Q1で「あまり使いこなしているといえない」
「ぜんぜん使いこなしていない」と回答した方のみお答えください。
その理由はどのようなものですか?

チェックボックス回答1 むずかしい
チェックボックス回答2 わかりにくい
チェックボックス回答3 勉強不足
チェックボックス回答4 時間が無い
チェックボックス回答5 そのほか
【送信ボタン】

//アンケートエンド

■上のようなアンケートで、送信ボタンを押すと、データがcsv形式でサーバ上に蓄積されるには、どうしたらよいでしょうか?

※結果がメール送信されるアンケートしか作ったことが無いので、
前回実施したアンケートが大量に回答があったため、集計に大変苦労してしまいましたので、メールで送信ではなく、自動的に蓄積されるようにしたいです。

この場合はcgiなのでしょうか、javascript利用なのでしょうか。よろしくお願いします。

A 回答 (2件)

ご質問の場合は、CGIの領域です。

サーバにデータファイルを書き出すという都合上、ローカルサイドで動くJavaScriptでは対処できないでしょう。

アンケートCGIなどを探してみると、フリーで公開されているスクリプトなどはたくさんあると思います。 お使いのサーバでCGIの使用が認められているのであれば、それらを利用してみるのではいかがでしょうか。
プログラムの心得があるのであれば、自作するのも手かもしれませんね。 Perlの教本などにはこの手のスクリプトのサンプルが例として挙げられていることも多くあるので、自作するのもそれほど難しくないでしょう。

参考になれば…

この回答への補足

早速いろいろ試してみて、以下のようにアンケート結果をMDBファイルに出力できるようにフォームを作成してみました。


■■■touroku.ASP■■■
<% @Language="VBScript" %>
<% Option Explicit %>

<%
'=========================================
'資格確認(データ登録)
'2003/10/06 rugger
'=========================================
%>

<%
Dim strName,strCamp,strPost,strTel,strShikaku,strOut1,strOut2,strOut3,strOpi,strMail

strName = Request.Form("fstrName")
strCamp = Request.Form("fstrCamp")
strPost = Request.Form("fstrPost")
strTel = Request.Form("fstrTel")
strShikaku = Request.Form("fstrShikaku")
strOut1 = Request.Form("fstrOut1")
strOut2 = Request.Form("fstrOut2")
strOut3 = Request.Form("fstrOut3")
strOpi = Request.Form("fstrOpi")
strMail = Request.Form("fstrMail")
%>

<html>
<head>
<title>資格確認</title>
<meta http-equiv="content-style-type" content="text/css">
</head>

<body>
<%
Dim Conn
Dim strSQL

strSQL="INSERT INTO T_HYOGO(Name,Camp,Post,Tel,Shikaku,Out1,Out2,Out3,Opi,Mail) " & "VALUES('" & strName & "','" & strCamp & "','" & strPost & "','" & strTel & "','" & strShikaku & "','" & strOut1 & "','" & strOut2 & "','" & strOut3 & "','" & strOpi & "','" & strMail & "')"
set Conn=Server.CreateObject("ADODB.Connection")

Conn.Open "HyogoDB",3,3
Conn.Execute strSQL
Conn.Close

Set Conn = Nothing
Session.Abandon
%>
登録完了です。
</body>
</html>






で、実際にサーバに上げて試してみたところ、Touroku.ASPからMDBファイル作成のところでどうしてもエラーになってしまいます。

以下エラーメッセージ内容
=========================
Microsoft OLE DB Provider for ODBC Drivers エラー '80040e14'

[Microsoft][ODBC Microsoft Access Driver] INSERT INTO ステートメントに、認識できないフィールド 'Shikaku' があります。名前が正しいことを確認して、再度実行してください。

/stouroku/touroku.asp, 行 41
======================
ここまで


何が間違っているのでしょうか?お手上げになってしまいました。。。
うーむ、メールのフォームにしたほうが良いのかなぁ。。。

補足日時:2003/10/06 14:34
    • good
    • 0
この回答へのお礼

さっそくありがとうございます。

CGIの使用は認められていますが、プログラムの心得は
まったくありません(^^;

で、スクリプトを借用させていただこうと思いまして、
早速googleで「アンケート cgi」で調べてみたのですが、
結果をテキストにするのは見つかるのですが、
csv形式にするものがなかなか見つかりませんでした。
どこか良いサイトをご存知でしたら教えていただければと思います。

http://www.google.co.jp/search?q=%E3%82%A2%E3%83 …

お礼日時:2003/10/06 08:48

再び失礼します。



補足読みましたが、私はASPについてはわかりませんので、他の方のご意見を仰いでいただきたいと思います。 すみません。

それで、アドバイスなんですが、CGIでアンケート結果をテキストファイルに出力できるのであれば、そのテキストファイルをダウンロードしたあとに、表計算ソフトなどでテキストCSVファイルとして読み出すのではいかがでしょうか?
元々CSVファイルはテキストデータだったと思いますので、内容が一定の形式で記述されているのであれば、表計算ソフトなどでテキストファイルをCSVファイルとして読み込めるのではないかと思います。
具体的には、出力されたファイルのテキスト上でのデータの区切りさえわかれば、後はそのデータの区切りの記号をフィールドの区切り文字に指定して表計算ソフトで読み出すことで、表計算ソフト上にCSVファイルとして読み出せるのではないかと。
CGIが保存するデータファイルが、.datファイルや.logファイルだった場合でも、テキストエディタで開いた時に内容を読めるのであれば、それを別名でテキストファイルとして保存し、CSVファイルとして表計算ソフトなどから開くことで同じ事ができると思います。

こういう方法ではいかがでしょうか?
見当違いでしたら、ごめんなさい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!