• 締切済み

アンケートの回答をcsv形式で保存したい

はじめまして。 よろしくお願い致します。 現在、Web上でアンケートを実施しています。 普通にhtmlのフォームでアンケートを作り、sendmail.cgiを使って回答結果が自分のメールアドレスに送られてくるように設定しています。 これまではそれで良かったのですが、 回答人数が多くなり、集計が大変なので、 今使っているアンケートのhtmlとcgiを活かして、 csv形式で回答を入手する方法がないかと考えています。 例えば、cgiに少し記述を付け加えるとか、 そういった程度の修正で何とかできないものでしょうか? どなたかご存じの方、記述方法など教えていただけると、とても助かります。 よろしくお願い致します。

みんなの回答

  • nattouv
  • ベストアンサー率75% (3/4)
回答No.4

Perlですよね。 csvがEUCコードで出力されちゃってるのではないでしょうか? 「jcode.pl」などを利用し、SJISに変換してから出力すると良いかもしれません。

peronperon
質問者

お礼

お礼が遅くなってすみませんでした。 参考にさせていただき、もうちょっとがんばってみます!ありがとうございました。

  • souta_n
  • ベストアンサー率33% (79/234)
回答No.3

>文字化け?していてさっぱりわかりません。 先に回答したサンプルコードを実行すると文字化けするということですか?それともそれを参考に、sendmail.cgiを改良して実行してみたら文字化けしたということですか? 後者なら、Sendmailでmailtoやmailfromをつくる時に mimeencode(変数)でMIMEエンコードするので、それをやった後のデータをCSVに保存すると文字化け(正確にはそうじゃないけど)した様になりますが・・・ それじゃあこうすればどうですか 例えばメールフォームから送信されたデータがname、add、telだとすれば、 $write_data=join(",",$name,$add,$tel)."\n"; を $write_data=join(",",$in{'name'},$in{'add'},$in{'tel'})."\n"; という様にしてみればいかがですか

peronperon
質問者

お礼

お礼が遅くなってすみませんでした。 結局できなくて、他の人にお願いをしたのですが 自分の勉強のためにも、もうちょっとやってみます。 ありがとうございました。

  • souta_n
  • ベストアンサー率33% (79/234)
回答No.2

#! /usr/local/bin/perl $name="マツケンサンバ"; $add="六本木ヒルズ"; $tel="03-1234-5678"; $write_data=join(",",$name,$add,$tel)."\n"; open(FH,">>./Data.csv"); flock FH,LOCK_EX; print FH $write_data; close FH; データをCSVファイルに追加保存するPerlコードです。 ご参考にどうぞ

peronperon
質問者

お礼

ありがとうございます! さっそく参考にさせていただいて、試してみています。 csvにはなっているような感じですが、文字化け?していてさっぱりわかりません。どうしたら良いのでしょうか?

  • Fukutarou
  • ベストアンサー率30% (193/641)
回答No.1

データをcsv保存でき、メールの送信するわけですね。 http://www.tryhp.net/webhandler.htm のアンケートはその機能付きです。 参考にしてみてはいかがでしょうか

peronperon
質問者

お礼

ありがとうございます! 確認してみたのですが、どこからどこまでが何のための記述だかわからなくて・・・。 こんな素人の私にはやっぱり無理なんでしょうかね。

関連するQ&A