System Requirements

To run the Volunteer Signup form you need


The Volunteer Signup package comes in an archive containing the scripts and supporting files.

You install the system in a directory called volsignup in your Web server's document root, and create a MySQL database called volsignup. The database is distinguished by an appendix to the database name corresponding to the station or network identifier, known as the sid. This allows you to manage more than one Volunteer Signup form at the same time, on the same server, if necessary.

The layout of the principal files is as follows.

       +--index.php?sid=sid                   --volunteer signup form
       +--shiftsignup.php?sid=sid             --shift availability display
       +--displayshifts.php?sid=sid           --shift availability display
       |      +--admin.php?sid=sid            --system administration menu
       |      +--shiftAdmin.php?sid=sid       --administer shifts
       |      +--volunteerAdmin.php?sid=sid   --administer volunteers
       +--templates/ (custom text messages)
              +--headersid.shtml              --common page header
              +--footersid.shtml              --common page footer
              +--signup_welcomesid.shtml      --initial welcome message
              +--signup_instructionssid.shtml --step 1 signup instruction
              +--step2instrsid.shtml          --step 2 signup instruction
              +--step3instrsid.shtml          --step 3 signup instruction
              +--signup_suffixsid.shtml       --additional signup instruction
              +--thankssid.shtml              --registration confirmation
              +--mailsid.php                  --email confirmation
              +--directionssid.php            --travel directions

Template Customization Example

Minnesota Public Radio might want to run independent but concurrent pledge drives for MPR and for KPCC in California. The Web server administrator might install separate databases called volsignupmpr and volsignupkpcc and run them on the same server. The sid identifies the appropriate database and allows for custom text, directions, and so forth on the displayed forms.

An examination of the source code will reveal how templates interleave with the form as a series of include() files to produce a set of Volunteer Signup pages. If templates corresponding to a particular sid code do not exist, the system will replace them with generic pages (e.g.directionsgeneric.shtml). These generic pages are rather austere, however, so customization is recommended.

Step One

Unpack the distribution into a directory called volsignup in your Web server's document root. On a typical Web server, the path might look like this:


Step Two

Make sure that your MySQL server is running and accepting queries, and that you have root or otherwise privileged access to the MySQL server so that you can create the database.

In a Javascript-enabled Web browser, load the file

where sid is a one- to four-character alphanumeric code to designate your database name. The following example will install a database called volsignupkpcc into the MySQL database management system.

In your Web pages, link to this service with hypertext anchors like this:
<A HREF="DOCROOT/volsignup/shiftsignup.php?sid=kpcc">

Technical Notes and Limitations

  1. The Volunteer Signup form should run on any up-to-date MySQL version 3.28+ and PHP version 4.3.2+ installation. It was developed on MySQL version 3.28.58 and PHP version 4.3.2.
  2. Turn on magic_quotes_gpc in your PHP.INI file to ensure that special characters are escaped properly when forms are submitted to the database.
  3. The default state or province selected in the signup form's dropdown menu is set in statemap.php.
  4. This version assumes that the Apache Web server and the MySQL database management system are running on the same machine, and that its /etc/hosts file is set properly to resolve the host name 'localhost'.
  5. Access to administrative screens is set in config.php.
  6. For help installing and running MySQL see the MySQL Reference Manual.
  7. For help with Apache see the Apache HTTP Server Project.