Building a Marketing Administration System from scratch


Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration in /homepages/26/d116120905/htdocs/includes/common.php on line 91

Warning: getimagesize(http://www.paulwest.co.uk/img/uploads/connected.jpg) [function.getimagesize]: failed to open stream: no suitable wrapper could be found in /homepages/26/d116120905/htdocs/includes/common.php on line 91
Project Requirements

To build a system where staff can build and edit landing pages for webinars and events where customers could register for them plus request documents. Staff also require the ability to view and edit registration details online. I also wanted to add the feature of downloading the data as .CSV files.

This project was one part of a much bigger project of rebuilding the Redwood Software site. The project was to build the “mechanical” part of the site, the working engine that had previously been supplied by Drupal an open source content management platform. This gave me an opportunity to tailor the admin area to our main uses.

Website Administration section of Connected
The design

Keeping in mind that non technical people use the portal, I structured it with a step by step process. This means users will have more clicks but keeps the amount of options down, which I find can speed up the process, it’s a case of more clicks but fast clicks! Keeping the design clean and simple I selected grey as my main colour then for action hot spots I use a very strong vibrant orange and blue.

The front end

The most important element here is getting the balance between getting enough information to be useful and be usable for organising your data within your database and not making the forms too lengthy and hard work for the visitor.

I have one page for all my webinars/events landing pages (the page that shows the full information) I simply use a small bit of code (shown below) to grab the last part of the URL which is a unique URL for that webinar/event.

  // Explode URL  path to find the text after the last “/”
  $var_array =  explode("/",$_SERVER['PATH_INFO']);
  $event_url =  $var_array[1];

I query the database event table for all the information, I then build a link to the form page, which is again one page that dynamically pulls in the information it needs from the URL. I add this information into hidden fields and display the title on the page. The form submits to a file that validates all the incoming data, emails staff members and inserts the data into the SQL table and finally forwards the user onto a "thank you" page.

Registrations being displayed on screen
The back end

To start with I set up the access control. I use template code I created after reading a tutorial on Site point “Managing Users with PHP Sessions and MySQL” I chose to use sessions rather than cookies as access to the area should only be a short period. I put all the access code into one include file then all that is needed to secure a page is to use an include file.

// include access file
require_once($_SERVER['DOCUMENT_ROOT'] . 
'/include_dir/access_file.php');

For the SQL structure I have two tables one for event landing pages and one for webinars, I then have one table that holds all the registration details giving each registration an id and taking the id of the event or webinar and storing it. I organize the results by countries for the regional marketing managers.

The project is a fantastic success with the marketing managers taking on a lot more control of there events and accessing the information submitted from the website quickly and easily.

Published 04.02.08