アンケートフォーム自動生成
Copyright(C) 25Feb2014 coskx TNCT
フォームによるアンケート作成ツールを紹介する。
- フォームによるアンケート自動作成 原理版
自動生成プログラムソースとサンプル
- フォームによるアンケート自動作成 実用版
実用版自動生成プログラムソースとサンプル
phpプログラムが自在にできるようになれば,どんなアンケートでもアンケートWebサイトを作ることができる。
しかし,毎回同じようなプログラムを作ることになってしまう。
アンケート用紙を紙で作れば,作るところまでは簡単だ。
アンケート用紙を作る手軽さで,アンケートWebサイトを作ることができれば,楽である。
アンケート用紙のひな形をもとにphpプログラムを自動生成するプログラムを作っておけばよい。
次にに紹介するのは次のようなアンケートひな形テキストファイルから,
phpプログラムを自動生成するプログラムである。
自動生成プログラムソースとサンプル
自動生成プログラムソースQuestionnaireMaker.cをコンパイルしてQuestionnaireMaker.exeを作り,
サンプルQMOrgTextSample.txtをQuestionnaireMaker.exeにドロップすると,
MyQuestionnaire.phpとMyQuestionnaireChecker.phpが生成される。
この2つのファイルをWebサーバのhtdocsにおいて,ブラウザからMyQuestionnaire.phpを
開くと,アンケートに答えることができる。
回答は,MyQuestionnairecsv.csvが同じディレクトリに作成され,蓄積される。
このファイルはブラウザから見ることができる。
(セキュリティ上好ましくない場合は2.実用版を使うこと)
QMOrgTextSample.txtの書き方については,QMOrgTextSample.txtの前半にコメントとして
記述されている。
アンケートひな形テキストファイル QMOrgTextSample.txt
テキストデータ部のみ,実際はこの前にコメント部(書式説明)がついている//作成するアンケートphpファイル名
<#QMF fname-php>MyQuestionnaire.php</#QMF>
//アンケート結果を保存するcsvファイル名
<#QMF fname-csv>MyQuestionnairecsv.csv</#QMF>
//タイトル
<#QMF title>○○に関するアンケート</#QMF>
//署名
<#QMF signature>八王子健康の会</#QMF>
//
//
//
これはアンケート作成例です。
このアンケートは,アンケート自動作成ツールQuestionnaireMakerで作成しています。
というようにここにはアンケートの目的などを書きます。
//
<h4>基本データ</h4>
//
あなたの名前を書いてください。
<#QMF text 名前 required></#QMF>
//
性別を選んでください。
<#QMF radio 性別 required>男性,女性</#QMF>
//
メールアドレスを書いてください。
<#QMF text-mail メールアドレス required></#QMF>
//
連絡の取れる電話番号(0で始まり,半角数字と'-')を書いてください。
<#QMF text-tel 電話番号 required></#QMF>
//
<hr>
//
<h4>質問内容</h4>
//
好きな季節を選んでください。
<#QMF radio 好きな季節>春,夏/秋,冬</#QMF>
//
好きな動物を選んでください。(いくつでも可,選ばなくても良い)
<#QMF checkbox 好きな動物>犬,猫,さる,小鳥/子豚,ライオン</#QMF>
//
あなたの住所を次の中から選んでください。
<#QMF list 住所>八王子,八王子以外の三多摩,三多摩以外の東京,東京以外の関東,関東以外</#QMF>
//
常日頃から健康に気をつけていますか。
<#QMF radio 健康に気をつける required value>全く気をつけていない/時々気をつけることがある/
気をつけているつもり/医師の指導のもと気をつけている</#QMF>
//
健康のために良いと思うことを自由に書いてください。
<#QMF textarea 健康のために良い></#QMF>
//
ご協力ありがとうございました。
自動生成されたアンケートページ
ページの遷移は本論中と同じで次のようになっている。
アンケート以外の用途も考慮して,回答者は「保存確認ページ」に示された 確認文字列を使って,
後から自分の回答内容を確認できるようになっている。
(MyQuestionnaireChecker.phpが事後確認ページ。この名前はMyQuestionnaire.phpにCheckerを付加して自動的に作られている。)
1.の内容は,学習用として最小限の表現となっている。
実用のためには,もう一工夫必要である。
セキュリティの観点から,実用版では,アンケート管理者があらかじめ設定したパスワードを使って,集計csvファイルをダウンロードできるページも持つようになっている。
実用版自動生成プログラムソースとサンプル
自動生成プログラムソースQuestionnaireMaker.cをコンパイルしてQuestionnaireMaker.exeを作り,
サンプルQMOrgTextSample.txtをQuestionnaireMaker.exeにドロップすると,
MyQuestionnaire.phpとMyQuestionnaireChecker.php(これはオプション),MyQuestionnaireAdmin.phpが生成される。
この3つのファイルをWebサーバのhtdocsにおいて,ブラウザからMyQuestionnaire.phpを
開くと,アンケートに答えることができる。
回答は,.ht_MyQuestionnairecsv.csvが同じディレクトリに作成され,蓄積される。
このファイルは,ブラウザからは見ることができない。
そのため,パスワードを持つ管理者が,このファイルをダウンロードできる仕組み
(MyQuestionnaireAdmin.php)が作られている。
QMOrgTextSample.txtの書き方については,QMOrgTextSample.txtの前半にコメントとして
記述されている。