IT仕事

phpESPつまづいたところ

投稿日:2008年9月2日 更新日:

AKI ON WEB: Webアンケートシステム「phpESP」を試してみた

を参考に、このソフトのインストールに挑戦。

しかし、DB作成で、まず転ぶ。

mysql_populate.sqlが通らない。スキルがないのでDBの作成がレンサバの管理画面+MySQLAdminでしかできなかったが、しかし何とか作成。sqlite_populate.sql はあっさり通過。

次にブラウザでページにアクセスしたところ、Connectがうまくいかないエラーが返ってくる。
phpESP.ini.phpの以下の部分を書き換えることで、何とかクリア。

$ESPCONFIG[‘db_host’] = ‘localhost’;
$ESPCONFIG[‘db_user’] = ‘phpesp’;
$ESPCONFIG[‘db_pass’] = ‘ないしょ’;
$ESPCONFIG[‘db_name’] = ‘phpesp’;

そして、アンケート入力フォームにて、転ぶ。

質問項目は200以上あるのでフォームを5ページに分けたい。
しかし方法がわからなかった。
区切りを入れることでできることをやがては気づいたが、喜びもつかの間。なぜか呼び出し直後の最初のページが表示されないことがたまにある。

編集画面のOrderで区切り記号をいったん全部削除して再度作り直すことでうまくいった。

パブリック・プライベートなアンケートの設定で、転ぶ。

パブリックの場合は、IPアドレスが重複するととってくれないので、LAN内の別人が回答することができない・・・不正防止のための至極当たり前の仕組みだけど、今回自分が使いたいやり方では、それは困ること。
プライベートにすると、ログインしてからの回答となるので解決できるのだが、設定が良くわからなかった。
以下、試行錯誤の結果。

handler.phpの2行目あたりに、以下のコードを貼り付ける(handler-prefix.phpの中ごろにあったもの)。

<!– ここから
if(empty($_REQUEST[‘userid’])) {
// find remote user id (takes the first non-empty of the following)
// 1. a GET variable named ‘userid’
// 2. the REMOTE_USER set by HTTP-Authentication
// 3. the query string
// 4. the remote ip address
if (!empty($_REQUEST[‘userid’])) {
$_REQUEST[‘userid’] = $_REQUEST[‘userid’];
} elseif(!empty($_SERVER[‘REMOTE_USER’])) {
$_REQUEST[‘userid’] = $_SERVER[‘REMOTE_USER’];
} elseif(!empty($_SERVER[‘QUERY_STRING’])) {
$_REQUEST[‘userid’] = urldecode($_SERVER[‘QUERY_STRING’]);
} else {
$_REQUEST[‘userid’] = $_SERVER[‘REMOTE_ADDR’];
}
}
ここまで –>

それでもって管理画面で、回答者アカウント管理でアカウントを追加し、グループをAutoにして、アンケートアクセス変更(回答者制限)でプライベートに設定し、OK。

とおもいきや、それでもうまくいかない。

グループ 最大回答 保存/リストア 戻る/進む

にそれぞれ適当な値をセットして、クリア。
アカウントはguestだけ作ったけど、それを使いまわして何度回答してもいいみたい。はじかれない。

アンケート結果のデータエクスポートで文字化け
形式をCSVではなくTABにし、UTF-8が読めるエディタで開くとOK。

苦労の連続。しかし何とか使い物になりそうだ。

-IT仕事

執筆者:

関連記事

no image

QNAP TS-251AのバックアップでWARNING

毎日一回、LAN内のPCのUSBDISKにバックアップを取っている。 最近、qnapから以下のようなメッセージが毎日メールされる。 [RTRR Job] (Sync) Job share– …

no image

WP Canvas – shortcodeとWelcartで最強の商品一覧を作る

WordPressのECサイト構築用のWelcartプラグイン、大好き。 ただ、唯一気に入らない点が(制作者様すいません!)、商品の一覧ページを作るのが面倒なこと。 公式で提供されている専用テンプレー …

no image

PHP用のエディタ

今度PHPの講習のせんせーをする。 テキスト本で勉強中(教えるための、ね)。 テキストに書いてあるコードをそのまま打って、一つ一つの講習ポイントを確認する。 コーディングは使い慣れているテキストエディ …

no image

EPSON EP-4004の有線LAN(インフラストラクチャーモード)での接続方法

EPSON EP-4004のプリンタは、無線LANのアドホックでの接続は、とても簡単。 しかし、インフラストラクチャーでの接続となると、とても難しい。 マニュアルにも、丁寧なやり方は載っていない。 以 …

no image

WebArena SuiteXでWordPressでルート表示

WebArena SuiteXへのWPインストールは自動機能があるので、とっても簡単だったのだが、ルートではなく別フォルダに作られる。 けども、WP側の簡単な設定でそれをルートディレクトリにできること …