The client had very strict requirements for their guestlist sign-up that no current system could meet. The client was using Wufoo Forms at first, but not only were they paying a monthly fee simply to accept more than a certain number of submissions per month, they lacked the ability to customize the form to their satisfaction.
The requirements were as follows:
- A person can sign up and add up to 9 friends as guests under their name
- The list caps each night after a number of submissions that can be changed
- The list can open and close at a certain time each day, and can choose the days the list is open
- No person can sign up more than once per day
- A printable list in a specific format available in a password protected admin
- Required birthdate (requested later on)
- Customizable email sent to confirm form submission and reservation.
I handled the front-end using HTML/CSS and JQuery. My partner handled the MySQL and PHP logic. Of note, I used JQuery to solve the issue of requiring information to be entered for the 9 additional guests, without requiring all 9 guests' fields to be filled out if say you only wanted to enter 4 guests. Instead of displaying all the fields and requiring them all, I used JQuery to create a link to "add a guest," (not shown) which creates the fields for the new guest when clicked. Within that script, I used the shift() method to store and increment/decrement 9 items in an array so that when they run out, the user is unable to add more guests and an error message appears.
Later, Bruno's had this removed because they wanted each person to sign up on their own. They also wanted the ability to add a birthdate field, which I implemented (PHP/MySQL).