前提・実現したいこと
グーグルフォームのような埋め込み可能なアンケートツールを探しています。
ただのメールフォーム等の場合だと集計が手惑うので大変です。
顧客の数は1アンケートにつき50~1000人程を想定しているので大人数になれば集計が大変になります。
グーグルフォームが機能的にはかなり魅力的なのですが自社サイトに埋め込んだ場合、
右側にアンケートを上下にスクロールする為のバーが表示されてしまったり、
アンケートの下にグーグルフォームを使ってるとの記載が載ってしまい何とも不格好です。
機能としては
①大人数になっても一人一人の名前や2択の回答、メアドなどの情報がリストとして管理できるもの。
②提供元がページ上に表示されないもの。
③入力した情報を自動でリスト化し、回答後は他のページに飛ばしたい。
この条件が最低条件です。
内容としては自由回答(メアドや住所程度の長さ)や選択式回答(多くの場合は2択)ですが3択の場合や、自由回答についても複数行必要な場合もあるので、大は小を兼ねるというように大きめに枠を取っておきたいです。
アンケートはスマホがメインとなるのでスマホやタブレット、PC等ある程度網羅する物が必要です。
アンケート回答後のメアドへの返信は要りませんが回答後、指定のページに飛ばしたいです。
有料での外注は避けたいので自分で作る事を前提とした話となります。
入力フォームから自動でデータベースの方に反映させるという方法は調べて出てきましたが思ったようなプログラムは難しいです。
また、1アンケートにつき50~1000人程度ですが期限は2週間~3カ月程度と幅広くなります。
また、毎日いくつもアンケートを発行し回答が何千と返ってくるのであればかなり分かりづらくなります。
上記の理由から一番の目標としては、ブラウザかメモ、Excelなどで表示でき、印刷可能かつコピー可能な状態としてリスト化できるシステムを作りたいです。
試したこと
試した事としては、まず、「form.html」で得た情報をinput_data.phpで取得してExcelやGymo PDF Editorでリスト化するという方法です。以下は一部変更して省略したform.htmlのコードです。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>タイトル</title> <script type="text/javascript" charset="UTF-8" src="//cache1.value-domain.com/xrea_header.js" async="async"></script> </head> <body> <form method="post" action="input_data.php"> 名前(漢字):<input type="text" name="kannziname" style="width:100px"><br> 名前(フリガナ):<input type="text" name="katakananame" style="width:130px"><br> 自由回答:<input type="text" name="aaa" style="width:60px"><br> 自由回答:<input type="text" name="bbb" style="width:50px"><br> 自由回答<input type="text" name="ccc" style="width:100px"><br> メールアドレス<input type="text" name="mailaddress" style="width:250px"><br> 住所 or LINEのID or LINEのURL<input type="text" name="zyuusyo" style="width:300px"><br><input type="submit" value="決定"> </form> </body> </html>
また、「input_data.php」のコードは以下となります。
<?php //取得した値を変数に代入 $kannziname = $_POST['kannziname']; $katakananame = $_POST['katakananame']; $join = $_POST['aaa']; $ninnzuu = $_POST['bbb']; $allergy = $_POST['ccc']; $mailaddress = $_POST['mailaddress']; $zyuusyo = $_POST['zyuusyo']; if($kannziname == NULL || $katakananame == NULL || $aaa == NULL || $bbb == NULL || $ccc == NULL || $mailaddress == NULL || $zyuusyo == NULL){ print '入力されていない項目があります。'; }else{ //CSVファイルに書き込むデータの準備 $data = '名前(漢字),名前(フリガナ),自由回答,自由回答,自由回答,メールアドレス,住所 or LINEのID or LINEのURL'; //列のタイトル $data .= "\n"; $data .= $kannziname; $data .= ','; $data .= $katakananame; $data .= ','; $data .= $aaa; $data .= ','; $data .= $bbb; $data .= ','; $data .= $ccc; $data .= ','; $data .= $mailaddress; $data .= ','; $data .= $zyuusyo; $data .= "\n"; } $file = fopen('./data.csv', 'w'); fputs($file, $data); fclose($file); ?> <a href="data.csv">CSVファイルのダウンロード</a>
このコードでダウンロードできるようにしたものの、form.htmlで情報を入力するとinput_data.phpに飛んで「CSVファイルのダウンロード」の一文のみが表示され、ダウンロードが可能になりました。
しかし、Excelでは試してないもののGymo PDF Editorでは何も表示されていませんでした。
また、このコードだと回答者が自分の回答をダウンロードできるものの、管理者側が自動でリスト化するという物ではありませんでした。
下記のサイトのコードを参照にしました。
https://kikutoyo.net/blog/php_csv_output