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

Welcartの商品をGoogle Merchantにfeed登録したくて悪戦苦闘

Google Merchantにfeed登録したくて、 以下のブログと、 Welcartの商品をGoogleショッピング(Google merchant center グーグル マーチャントセンター) …

no image

PhotoshopElementsで枠線を書くには

方法が長らくわからなかったが、今日わかったので書いておく。 図形ツールで図形を描く ラスタライズ メニューの「編集」-「境界線を描く」 上記の方法は、操作対象が「境界線」のため、たとえば「選択範囲」- …

no image

秀丸マクロ

薬品費を消耗品費にするのと22を23にするのとを、20個以上のファイルに対して行って、別のファイルに保存する・・・。 これを昨日からやっているのだが、だんだんめんどくさくなって来て。 明日移行も、同じ …

no image

Improved Include Page は便利

最近WordPressを使っていて、「お、これは掘り出し物だ!」と喜ぶことになるプラグインが少ない。 以前は新たなプラグインを発見しては、WordPressのすばらしさ(というよりその周りに集まってき …

no image

WordPressでOpenIDにチャレンジ、半分成功

例えば、YahooIDを持っている人なら誰でも、投稿者としてコメントできるようにするといいなあ、それができたら、ああいう使い道やこういう使い道があるなあ・・・ということで、やってみた。 ・まず普通の要 …