第2回88Break 突発アンケート
/*
88Break PHP and PostgreSQL 7.x プロジェクト
アンケート募集セクション ENQ01
アンケート投稿、表示プログラム enq01_disp_post.php
アンケートの投稿、表示を行なうモジュール。
*enq01_profile.php のパスを、内部ディレクトリ形式でフルパスにて指定すること。
*/
require('/home/akatta/php_mdl/prj_profile.php');
require('/home/akatta/php_mdl/enq01_profile.php');
$tbl_admin = TBL_ADMIN;
$tbl_enq = TBL_ENQ;
$enq01_admin = ENQ01_ADMIN;
#$enq01_ad_email = ENQ01_AD_EMAIL;
# DBコネクトを行う
$con = OpenDB(DB_HOST, DB_NAME, DB_USER, DB_PASS);
if (!$con) {
echo "DB Error!!\n";
exit;
}
# TBL_ADMINを調査する。なければ終了。
if (!(CheckAdminTblExist($con,$enq01_admin))) {
echo "$tbl_admin Nothing !!\n";
CloseDB($con);
exit;
}
#ADMINテーブルのメールを設定する。
$enq01_ad_email = AD_EMAIL;
/* グローバル変数の一括入れ込み */
import_request_variables("gp", "form_");
/* 最初に登録モードかを判定する。 */
if ($form_regist == 1) {
# 登録モード 必要変数のチェック
switch ($form_how_many) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 9:
break;
default:
echo "訪問頻度を選択してください。";
CloseDB($con);
exit;
}
if ($form_want0 != 1 && $form_want1 != 1 && $form_want2 != 1 && $form_want3 != 1 && $form_want4 != 1 && $form_want5 != 1 && $form_want6 != 1 && $form_want7 != 1 && $form_want8 != 1 && $form_want9 != 1) {
echo "訪問目的は、1つ以上はチェックしてください。";
CloseDB($con);
exit;
}
switch ($form_tool_eva) {
case 0:
case 1:
case 2:
case 9:
break;
default:
echo "ツールの評価を選択してください。";
CloseDB($con);
exit;
}
switch ($form_al88_eva) {
case 0:
case 1:
case 2:
case 9:
break;
default:
echo "AL88WINの使用頻度を選択してください。";
CloseDB($con);
exit;
}
switch ($form_eggl_eva) {
case 0:
case 1:
case 9:
break;
default:
echo "d88edjの使用頻度を選択してください。";
CloseDB($con);
exit;
}
switch ($form_java_eva) {
case 0:
case 1:
case 9:
break;
default:
echo "その他ツール(pb2p88、ua.php)の使用頻度を選択してください。";
CloseDB($con);
exit;
}
switch ($form_hope) {
case 0:
case 1:
case 2:
case 3:
case 9:
break;
default:
echo "今後の要望を選択してください。";
CloseDB($con);
exit;
}
# 変数のチェックが終わったら、実際に登録を行う。
# wantXについては、1以外は全て0に格納し直す
if ($form_want0 != 1) {
$form_want0 = 0;
}
if ($form_want1 != 1) {
$form_want1 = 0;
}
if ($form_want2 != 1) {
$form_want2 = 0;
}
if ($form_want3 != 1) {
$form_want3 = 0;
}
if ($form_want4 != 1) {
$form_want4 = 0;
}
if ($form_want5 != 1) {
$form_want5 = 0;
}
if ($form_want6 != 1) {
$form_want6 = 0;
}
if ($form_want7 != 1) {
$form_want7 = 0;
}
if ($form_want8 != 1) {
$form_want8 = 0;
}
if ($form_want9 != 1) {
$form_want9 = 0;
}
#テーブルへINSERTする。
$rset = pg_exec($con, "insert into $tbl_enq values ('now'::timestamp,'$form_how_many','$form_want0','$form_want1','$form_want2','$form_want3','$form_want4','$form_want5','$form_want6','$form_want7','$form_want8','$form_want9','$form_tool_eva','$form_al88_eva','$form_eggl_eva','$form_java_eva','$form_hope')");
if ($rset) {
# メール送信を行う
if (trim($enq01_ad_email) != '' && trim($form_etc) != '') { /* 後日 @チェックを追加する */
#send_msgの内容を編集
$send_msg = $form_etc;
$send_msg = mb_convert_encoding($send_msg, 'EUC-JP','auto');
$send_msg = str_replace( "\r\n","\n",$send_msg);
$send_email = $enq01_ad_email;
$headers = "";
# メール送信準備
$send_msg = "Send to Enquete from '$enq01_admin'.\n\n$send_msg";
# DB内文字列は EUC-JPで保存しているため mb_sendmail に合うように変換。
$send_msg = mb_convert_encoding($send_msg, MAIL_MSG_ENC,'EUC-JP');
$subjects = "${enq01_admin} send Email $now_date";
# PHP内文字列は EUC-JPで保存しているため mb_sendmail に合うように変換。
$subjects = mb_convert_encoding($subjects, MAIL_MSG_ENC,'EUC-JP');
$send_email =mb_convert_encoding($send_email, 'SJIS','EUC-JP');
$headers .= "From: ${enq01_admin}_PHPMAIL <$enq01_ad_email>\n";
$headers .= "X-Sender: <$enq01_ad_email>\n";
$headers .= "X-Mailer: PHPMAIL for 88Break\n"; // メイラー
$headers .= "X-Priority: 1\n"; // 緊急メッセージ!
$headers .= "Return-Path: <$enq01_ad_email>\n"; // エラー時の返信先
# PHP内文字列は EUC-JPで保存しているため mb_sendmail に合うように変換。
$headers = mb_convert_encoding($headers, MAIL_HEADER_ENC,'EUC-JP');
# メール送信を行う
$send_check = mb_send_mail($send_email, $subjects, $send_msg, $headers);
}
# ありがとうございました。の文言を表示する。
echo '
アンケートのご協力いただき、ありがとうございました。';
} else {
echo "$tbl_enq Nothing or MakeError!!";
CloseDB($con);
exit;
}
}
# 表示モード
?>
よろしければ、アンケートにご協力ください
# TBL_ENQをselectし、統計情報をまとめる
$rset = pg_exec($con, "select count(*) from $tbl_enq");
$tbl_check = FALSE;
if ($rset) {
$numrows = pg_numrows($rset);
if ($numrows == 1) {
$all_cnt = pg_result($rset, 0, 'count');
$tbl_check = TRUE;
}
}
if ($tbl_check == FALSE) {
echo "$tbl_enq Nothing !!\n";
CloseDB($con);
exit;
}
# テーブルの検索ができるなら、初期値0の設定を行なう
$enq_val[][][] = "";
$enq_val[0][0][0] = 0;
$enq_val[0][0][1] = 0;
$enq_val[0][1][0] = 0;
$enq_val[0][1][1] = 0;
$enq_val[0][2][0] = 0;
$enq_val[0][2][1] = 0;
$enq_val[0][3][0] = 0;
$enq_val[0][3][1] = 0;
$enq_val[0][4][0] = 0;
$enq_val[0][4][1] = 0;
$enq_val[0][9][0] = 0;
$enq_val[0][9][1] = 0;
;
$enq_val[1][0][0] = 0;
$enq_val[1][0][1] = 0;
$enq_val[1][1][0] = 0;
$enq_val[1][1][1] = 0;
$enq_val[1][2][0] = 0;
$enq_val[1][2][1] = 0;
$enq_val[1][9][0] = 0;
$enq_val[1][9][1] = 0;
$enq_val[2][0][0] = 0;
$enq_val[2][0][1] = 0;
$enq_val[2][1][0] = 0;
$enq_val[2][1][1] = 0;
$enq_val[2][2][0] = 0;
$enq_val[2][2][1] = 0;
$enq_val[2][9][0] = 0;
$enq_val[2][9][1] = 0;
$enq_val[3][0][0] = 0;
$enq_val[3][0][1] = 0;
$enq_val[3][1][0] = 0;
$enq_val[3][1][1] = 0;
$enq_val[3][9][0] = 0;
$enq_val[3][9][1] = 0;
$enq_val[4][0][0] = 0;
$enq_val[4][0][1] = 0;
$enq_val[4][1][0] = 0;
$enq_val[4][1][1] = 0;
$enq_val[4][9][0] = 0;
$enq_val[4][9][1] = 0;
$enq_val[5][0][0] = 0;
$enq_val[5][0][1] = 0;
$enq_val[5][1][0] = 0;
$enq_val[5][1][1] = 0;
$enq_val[5][2][0] = 0;
$enq_val[5][2][1] = 0;
$enq_val[5][3][0] = 0;
$enq_val[5][3][1] = 0;
$enq_val[5][9][0] = 0;
$enq_val[5][9][1] = 0;
$enq_val[6][0][0] = 0;
$enq_val[6][0][1] = 0;
$enq_val[6][1][0] = 0;
$enq_val[6][1][1] = 0;
$enq_val[6][2][0] = 0;
$enq_val[6][2][1] = 0;
$enq_val[6][3][0] = 0;
$enq_val[6][3][1] = 0;
$enq_val[6][4][0] = 0;
$enq_val[6][4][1] = 0;
$enq_val[6][5][0] = 0;
$enq_val[6][5][1] = 0;
$enq_val[6][6][0] = 0;
$enq_val[6][6][1] = 0;
$enq_val[6][7][0] = 0;
$enq_val[6][7][1] = 0;
$enq_val[6][8][0] = 0;
$enq_val[6][8][1] = 0;
$enq_val[6][9][0] = 0;
$enq_val[6][9][1] = 0;
if ($all_cnt != 0) {
# レコードが1件以上ある場合は統計情報をまとめる
$enq_col[] = "";
$enq_col[0] = "how_many";
$enq_col[1] = "tool_eva";
$enq_col[2] = "al88_eva";
$enq_col[3] = "eggl_eva";
$enq_col[4] = "java_eva";
$enq_col[5] = "hope";
for($i=0; $i<6; $i++) {
$rset = pg_exec($con, "select $enq_col[$i],count(*) from $tbl_enq group by $enq_col[$i] order by $enq_col[$i]");
if ($rset) {
$row_num = pg_numrows($rset);
if ($row_num) {
for($j=0; $j<$row_num; $j++) {
$point = pg_result($rset, $j, 0);
$enq_val[$i][$point][0] = pg_result($rset, $j, 1);
# パーセンテージの計算
$enq_val[$i][$point][1] = $enq_val[$i][$point][0] * 200 / $all_cnt;
}
}
}
}
# 訪問目的のまとめ
for($i=0; $i<=9; $i++) {
$want_item = "want" . $i;
$rset = pg_exec($con, "select count(*) from $tbl_enq where $want_item = '1'");
if ($rset) {
$row_num = pg_numrows($rset);
if ($row_num) {
if ($numrows == 1) {
$want_cnt = pg_result($rset, 0, 'count');
if ($want_cnt > 0) {
$enq_val[6][$i][0] = $want_cnt;
# パーセンテージの計算
$enq_val[6][$i][1] = $enq_val[6][$i][0] * 200 / $all_cnt;
}
}
}
}
}
}
# 表示を開始する
?>
Q1.このサイトに訪れる頻度を教えてください |
1日1回以上 |
$val = $enq_val[0][0][0]; echo "$val"; ?>
|
" height="10"> |
2、3日に1回程度 |
$val = $enq_val[0][1][0]; echo "$val"; ?>
|
" height="10"> |
1週間に1回程度 |
$val = $enq_val[0][2][0]; echo "$val"; ?>
|
" height="10"> |
2・3週間に1回程度 |
$val = $enq_val[0][3][0]; echo "$val"; ?>
|
" height="10"> |
1ヶ月に1回程度 |
$val = $enq_val[0][4][0]; echo "$val"; ?>
|
" height="10"> |
初めて、または1ヶ月に1回未満 |
$val = $enq_val[0][9][0]; echo "$val"; ?>
|
" height="10"> |
Q2.このサイトに訪れる目的を教えてください(複数可) |
PC-88エミュレータ、ツールの速報、詳細情報 |
$val = $enq_val[6][0][0]; echo "$val"; ?>
|
" height="10"> |
PCソフトライブラリ (88同人ソフトその他) |
$val = $enq_val[6][1][0]; echo "$val"; ?>
|
" height="10"> |
PC-88のゲーム攻略 |
$val = $enq_val[6][2][0]; echo "$val"; ?>
|
" height="10"> |
PC-88以外のエミュレータ(FM-7等)の情報 |
$val = $enq_val[6][3][0]; echo "$val"; ?>
|
" height="10"> |
AL88WIN、hoot抽出ツール、d88edj、pb2p88等の自作tool |
$val = $enq_val[6][4][0]; echo "$val"; ?>
|
" height="10"> |
雑談掲示板 |
$val = $enq_val[6][5][0]; echo "$val"; ?>
|
" height="10"> |
日誌というか月誌というか年誌のような雑記 |
$val = $enq_val[6][6][0]; echo "$val"; ?>
|
" height="10"> |
PC-88その他レトロPC系の総合リンク集 |
$val = $enq_val[6][7][0]; echo "$val"; ?>
|
" height="10"> |
その他 |
$val = $enq_val[6][9][0]; echo "$val"; ?>
|
" height="10"> |
Q3.自作ツール全体の利便性や品質について評価してください |
良い |
$val = $enq_val[1][0][0]; echo "$val"; ?>
|
" height="10"> |
普通 |
$val = $enq_val[1][1][0]; echo "$val"; ?>
|
" height="10"> |
悪い |
$val = $enq_val[1][2][0]; echo "$val"; ?>
|
" height="10"> |
そもそもツール自体未使用 |
$val = $enq_val[1][9][0]; echo "$val"; ?>
|
" height="10"> |
Q4.PC-88++エミュレータランチャ「AL88WIN」は利用されてますか? |
かなりの頻度で利用している |
$val = $enq_val[2][0][0]; echo "$val"; ?>
|
" height="10"> |
時々利用している |
$val = $enq_val[2][1][0]; echo "$val"; ?>
|
" height="10"> |
Slaunchとか他のランチャを使用している |
$val = $enq_val[2][2][0]; echo "$val"; ?>
|
" height="10"> |
ランチャ自体使わない |
$val = $enq_val[2][9][0]; echo "$val"; ?>
|
" height="10"> |
Q5.D88エディタ+内部ファイル展開ツール d88edj は利用されてますか? |
かなりの頻度で利用している |
$val = $enq_val[3][0][0]; echo "$val"; ?>
|
" height="10"> |
時々利用している |
$val = $enq_val[3][1][0]; echo "$val"; ?>
|
" height="10"> |
使用していない |
$val = $enq_val[3][9][0]; echo "$val"; ?>
|
" height="10"> |
Q6.その他Javaツール(pb2p88)や PHPのUA判定関数ua.php等は利用されてますか? |
かなりの頻度で利用している |
$val = $enq_val[4][0][0]; echo "$val"; ?>
|
" height="10"> |
時々利用している |
$val = $enq_val[4][1][0]; echo "$val"; ?>
|
" height="10"> |
使用していない |
$val = $enq_val[4][9][0]; echo "$val"; ?>
|
" height="10"> |
Q7.今後、このサイトに望むことはなんですか? |
PC-88エミュレータ情報のより一層の充実 |
$val = $enq_val[5][0][0]; echo "$val"; ?>
|
" height="10"> |
PC-88以外のエミュレータの情報の充実 |
$val = $enq_val[5][1][0]; echo "$val"; ?>
|
" height="10"> |
PCソフトライブラリの拡充、またはゲーム攻略 |
$val = $enq_val[5][2][0]; echo "$val"; ?>
|
" height="10"> |
自作ツールの更新、新規ツールの作成 |
$val = $enq_val[5][3][0]; echo "$val"; ?>
|
" height="10"> |
その他 |
$val = $enq_val[5][9][0]; echo "$val"; ?>
|
" height="10"> |
アンケートに参加していただけた人数(のべ数) |
echo "$all_cnt"; ?>
|
# DB接続を切断する
CloseDB($con);
?>
よろしければ、アンケートにご協力ください
ご協力ありがとうございます。
何かご質問等ありましたら、
メールか
掲示板までお願いします。
インデックスに戻る