All content on this site is by and copyright ©1994-2023 Tonio Loewald, unless otherwise specified. Best viewed in Firefox, Safari, or IE8.

Online Questionnaires

RiddleMeThis forms can be deployed online using PHP. In the future, we will probably support other server-side technologies (such as Perl).

Why Use Online Forms?

Knoppix 3.1

A RiddleMeThis form running under Knoppix 3.1 (Knoppix is a free self-configuring Linux distribution that boots from CD).

Aside from the obvious purpose of performing surveys via the World Wide Web, using web technology to deploy your surveys has many advantages in the form of:

Putting your questionnaire online

At the moment, the process is somewhat manual:

  1. You need the PHP runtime engine, which is supplied as RiddleMeThis_runtimen.php (where n is a version number). You can rename it as you please (and modify it for your own use too). Don't change the ".php" file extension unless you know what you're doing.
  2. Put a copy of the runtime in your form's directory. Make sure the Data directory already exists (note the capital "D" -- UNIX/Linux-based servers are case-sensitive).
  3. Upload your form directory (including the Data, Images, and Videos subdirectories; Test Data is not required) to your webserver using your favorite FTP program.
  4. Set the permissions on the Data directory to 777 (read/write/execute by any user -- more secure options may work, you may want to try 744, but if your form acts funny, stick with 777).

Important Technical Note!

On most servers, if the Data directory is incorrectly set up you'll get an error message such as: "Warning: fopen(Data/xxxxx.txt) [function.fopen]: failed to open stream: Permission denied in�/xxxxx/xxxxx.php on line�229", but in some cases the server will suppress error messages and you'll simply see bad behavior.

You need to make sure the Data directory permissions make it readable and writeable by php scripts ("777" will work in a pinch). In many cases everything will "just work", but you may need tech support...

If you're using Mac OS X on your server you want to make sure the Data directory is owned by your www user. (To prevent random people from being able to see your raw data files, put an empty text file named "index.html" in the directory. Note that this is not secure against determined hackers.)

Also note that the php runtime assumes your data directory will be named "Data" with a capital "D". Some servers will be case-sensitive and if your directory is named "data" you will get an error message.

In summary, suppose that your questionnaire folder is called "mysurvey", you need something like this on your web server (a trailing "/" indicates a directory):

You're done. Your form is ready for use and will automatically gather and store the data it gathers in the Data directory.

If your website url is, to get to the form you need to go to

Note: some websites will treat a file named "index.php" or "default.php" as the default page in a directory. If so, you can rename your php file accordingly and use a simpler URL (i.e. leave the file name off the end of the URL).

Viewing your data

To view your data for the moment you will need to download the contents of the Data subdirectory (your data will be in text files named "..._completed.txt") where ... provides time and date information and a random number) to your original form's Data directory and then use RiddleMeThis to view and export your data. Ignore all files that do not end with "_completed.txt" (we'll be changing RiddleMeThis to do this for you automatically).

We are currently deciding whether to allow RiddleMeThis to read your online data directly or to provide an online data viewer. Or both.

Features not supported online

Not all of RiddleMeThis's features are supported by the online version. In particular:

We will try to keep the online version as compatible as possible with the computer-based version.

Browser Requirements & Accessibility

To fill in a RiddleMeThis questionnaire online the user needs to be able to "see" the web server with the form on it (e.g. if both are on the internet or on the same network).

To answer questions, the browser must support forms and POST data. This includes every browser in common use, including text-only browsers such as Lynx. Indeed, this probably includes specialised browsers for the vision-impaired.

To view images, the browser must support JPEG images. This includes every graphical web browser in common use today and ranging back even to the 1.0 versions of most web browsers.

To view videos, the browser must support QuickTime. In general, this simply entails using a reasonably functional browser and installing QuickTime. Furthermore, for practical reasons, we recommend against using videos at all unless you are using very small video files (e.g. Flash animations embedded in QuickTime) or you can be absolutely certain that your users will have a very high bandwidth connection to your server (e.g. if your clients are all running on the same LAN as your server).

What we don't need for our forms