PHP/MySQL
Database Development
PHP is a widely used programming language for the web. It can be used to check and send user input from forms, run scripts, create web pages and communicate with databases. MySQL is a database format which is often included as part of a site hosting package but does not have a user-friendly interface. The two can be combined to create database systems with login and registration systems, custom screens with buttons and menus, one-click reports, etc, where MySQL is used to store the information and PHP to create the user interface.
There are several open source (free) PHP/MySQL systems available, such as WordPress and Drupal, which are used to create websites. They allow someone to add or edit web pages without needing to know how to write HTML or program in PHP. The database stores information such as user ids and passwords and the actual text or images for the web pages. The PHP code creates screens for text entry, image uploading, etc. These packages also have a wide range of user-contributed modules, such as website designs (themes) or code to do special things (create calendars, make forums, etc.) which can be combined with the basic package to customize a website, add features, or create a particular look and feel.
Forms and Interactive Pages - PHP Website Scripts
PHP can be used without a database to do many things. A database is needed if you are storing information which will be retrieved on later visits (such as text or images for a webpage or user account information). But for something like a contact form or navigation system where the information will be processed ‘on the fly’ while the user is on the page or immediately emailed, no database is necessary. In these cases, PHP can be used to perform calculations, re-route the user to the appropriate page or re-draw the screen based on their choices, or provide data validation to make sure a form was filled out correctly and by a person, not a spambot. The PHP code is incorporated into the existing website to provide specific functions, in combination with the HTML code used to create the pages.
If your website needs forms or custom scripts, Jo Landers can create PHP code for you and integrate it into your new or existing website.
Complete Websites - WordPress and Drupal Customization
If you are interested in creating a website that you can change without needing to know how to write code, WordPress is exceptionally easy to install and use, and there are hundreds of contributed themes which can be used as-is or customized to give your website its own look and feel. They aren’t kidding when they talk about their famous 5-minute installation - the basic package really is that easy for most people who already know how to connect to their web server and upload files to get up and running. But the basic package doesn’t create a very nice looking site; most people will want to install or create a custom theme, add their own graphics, etc. And the standard administrative controls are limited; it usually works best for sites that will be updated by a limited number of people.
If you want a website that other uses can add content to, Drupal may be a better choice, but it does require more time to learn how to use it, and more ongoing maintenance. The basic package is more complicated to install than WordPress and the add-on modules can be bewildering (install them incorrectly, or install one that conflicts with others and your site may go down). However, this complexity lets you add more features than with a WordPress site.
PioneerValley.info was a Drupal-based site for most of 2008 and 2009 but I converted it to WordPress in December 2009. I found the overhead required to properly maintain a Drupal-based site was more than I had time for.
Both packages are free, have good track records, and are in wide use. Jo Landers can integrate WordPress into a new or existing site and provide theme customization. Basic Drupal installation and theme customization services are also available. Jo Landers does not offer services at this time for Joomla or other systems, or support for add-on modules for WordPress or Drupal (there are literally hundreds of possible add-ons and only a limited amount of time to learn how they work!).
Beyond Websites - Complete PHP/MYSQL Database Systems
If you need a complete database system (not just a website), PHP and MySQL can be used to create online database systems similar to FileMaker or Access but which allow remote web-based access, are not limited to Mac or PC users, and don’t require the purchase of additional software to run.
Please note that when you purchase FileMaker or Access, you are NOT purchasing a database system. These software packages allow you to create the database and user interface; you still need to decide what information your database will hold, how different parts will relate, and how the user will interact with it, then use the software to create the system. Although some software packages are easier to use than others, creating even a simple database requires a learning curve and investment in staff time.
There are also ‘off-the-shelf’ systems available which already have the database and user interface created. Some are stand-alone and some require that you already have other software (such as FileMaker) to run. They can be installed and used right out of the box but you are limited to what the programmers thought would be useful to the most people.
Quickbooks is a good example of an off-the-shelf system. Since all accounting systems need to track similar information, Quickbooks can be used for basic bookkeeping by many different businesses. Simple contact databases can also be written as off the shelf systems. All contact databases should keep track of names, addresses, telephone numbers, etc. - that type of data will be common to any contact database so standardized databases can be created and used as-is. But if you want your database to remind you to send birthday cards to your clients and it doesn’t track birthdays or automatically add a reminder to a to-do list, you’re out of luck. Or suppose you want your database to automatically email different messages to different groups of people on certain dates? If that feature wasn’t part of the original package, there’s usually no way to add it to an off-the-shelf system.
Custom databases allow you to create systems which can track any kind of data you need, in any way you want (see screenshots of a custom system for land trusts). But - these projects are not for the faint of heart! If an off-the-shelf solution meets your needs and doesn’t require large amounts of staff time or an extensive learning curve to implement, use it. Custom PHP/MySQL database systems generally start at $5k or higher, and require the client to commit the necessary time to planning, testing and review.
