- 締切済み
アンケートの回答をcsv形式で保存したい
はじめまして。 よろしくお願い致します。 現在、Web上でアンケートを実施しています。 普通にhtmlのフォームでアンケートを作り、sendmail.cgiを使って回答結果が自分のメールアドレスに送られてくるように設定しています。 これまではそれで良かったのですが、 回答人数が多くなり、集計が大変なので、 今使っているアンケートのhtmlとcgiを活かして、 csv形式で回答を入手する方法がないかと考えています。 例えば、cgiに少し記述を付け加えるとか、 そういった程度の修正で何とかできないものでしょうか? どなたかご存じの方、記述方法など教えていただけると、とても助かります。 よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- nattouv
- ベストアンサー率75% (3/4)
Perlですよね。 csvがEUCコードで出力されちゃってるのではないでしょうか? 「jcode.pl」などを利用し、SJISに変換してから出力すると良いかもしれません。
- souta_n
- ベストアンサー率33% (79/234)
>文字化け?していてさっぱりわかりません。 先に回答したサンプルコードを実行すると文字化けするということですか?それともそれを参考に、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"; という様にしてみればいかがですか
お礼
お礼が遅くなってすみませんでした。 結局できなくて、他の人にお願いをしたのですが 自分の勉強のためにも、もうちょっとやってみます。 ありがとうございました。
- souta_n
- ベストアンサー率33% (79/234)
#! /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コードです。 ご参考にどうぞ
お礼
ありがとうございます! さっそく参考にさせていただいて、試してみています。 csvにはなっているような感じですが、文字化け?していてさっぱりわかりません。どうしたら良いのでしょうか?
- Fukutarou
- ベストアンサー率30% (193/641)
データをcsv保存でき、メールの送信するわけですね。 http://www.tryhp.net/webhandler.htm のアンケートはその機能付きです。 参考にしてみてはいかがでしょうか
お礼
ありがとうございます! 確認してみたのですが、どこからどこまでが何のための記述だかわからなくて・・・。 こんな素人の私にはやっぱり無理なんでしょうかね。
お礼
お礼が遅くなってすみませんでした。 参考にさせていただき、もうちょっとがんばってみます!ありがとうございました。