Respondr contact form for websites and blogs
Friday, 12 September 2008 — by Wayne Smallman
Need a contact form for your website or blog? Respondr is all you need…
Having spent years just making do with freeware response forms, a few months ago, I decided enough was enough and I wrote my own, which I’ve been using on my Contact page ever since.
Respondr is a freeware response form for websites and blogs running on PHP, which features:
- A built-in CAPTCHA, for blocking automated spam ‘bots.
- Form field error checking and error messages (email address, post / zip code, telephone).
- The ability to block certain websites, email and IP addresses from sending messages to you.
- To tie the form to your website and your website alone, preventing form script hijacking.
- Fully customize your own Error and Thanks pages.
- Send messages to you, CC and BCC recipients.
- Set specific fields to be mandatory.
Installing & Configuring the Respondr contact form scripts
System requirements: a server running PHP 4 and above.
If you’re web developer with HTML and PHP experience, all should be pretty straight forward hereon
1. Download the Respondr archive and decompress the ZIP archive.
Keep the downloaded archive to hand until you’ve got everything installed and working.
2. Using your FTP client of choice, upload the files & folders to your websites’ root directory.
Don’t upload the Respondr folder itself, just the files & folders it contains.
3. Make the required edits to the Respondr class file (class.respondr.inc.php).
At the top of the class file, you’ll see an array ($arrayClassAttributes) with 4 nested array items: ‘referer’, ‘blocked’, ‘ignore’, ‘missing’. Yes, I know the first array index name is spelt wrong! But they’re all the same length.
For the first array item, add your IP address and web address variations to the fields, outlined. This locks the form to you and only you.
For the second array item, add in all of the email addresses you want to block out sending messages to you.
For the third array item, add in any fields you would like to be ignored and not included in the emails sent to you. The fields currently listed are important to the functioning of Respondr, but need to be ignored in the emails sent out.
The second array ($arrayEmailAddresses) contains three elements that list the recipient fields. You can add as many email addresses as you like to each field, comma separating each.
4. Make the required edits to your response form page.
Inside the actual contact form itself (contact.php), you’ll find a HTML form element. Inside this form element are all of the hidden fields that are required for Respondr to do its thing.
<input type="hidden" name="require" value="name,email_address,comments,security_code" />
These are the required fields you wish to have completed by your visitor when they send the form to you. If they’re not complete, they get to see your new Error page.
<input type="hidden" name="secured" value="security_code" />
This instructs Respondr that you intend using the CAPTCHA. It’s worth noting, even in the CAPTCHA is included within the form, if this hidden field isn’t present, the CAPTCHA won’t work.
<input type="hidden" name="success" value="http://www.blahblahtech.com/thank-you" />
This instructs Respondr where to find your Thanks page.
<input type="hidden" name="failure" value="http://www.blahblahtech.com/error" />
This instructs Respondr where to find your Error page.
<input type="hidden" name="sorting" value="alphabetic" />
This is a sorting option. Currently, alphabetical is the only option.
<input type="hidden" name="subject" value="Blah, Blah! Technology Response Form" />
This is the subject line of the email sent to you, once the visitor has completed your response form fully and without errors.
<input type="hidden" name="environ" value="REMOTE_HOST, REMOTE_ADDR, REMOTE_USER, HTTP_USER_AGENT, HTTP_REFERER" />
These are the environmental variables harvested from your visitor, which are added to the email sent to you, once the visitor has completed your response form fully and without errors.
5. Add the code to the Error page.
For the purposes of the Thanks page, any page will do, so long as it has the same name as the one detailed in the corresponding hidden field.
As for the Error page, then you’ll need to add the code included in error page (error.php).
This code will generate the list of descriptive errors to your visitor, telling them which mandatory fields they didn’t complete.
If you decide to poke around inside the CAPTCHA class file (class.captcha.inc.php), you’ll find options to customize the various colours of the text and the background, so you can match to your own website or blog.
If you have any questions, you can post your comments on the Respondr Discussion Board over on the official ‘blog Facebook Page.
Remaining features for Respondr and disclaimer
- I’ve not tested all of the validation options, such as post / zip code.
- I intended turning Respondr into a fully-fledged Plugin for WordPress, but I’ve just not had the time.
- Adding a Control Panel for all of the options.
So the reasons for me releasing Respondr right now are: 1. to get it out there for you to use straight away, and 2. so that those interested can help out and make any necessary updates and changes, so we all benefit.
I’m releasing Respondr as is, without making any claim to it being 100% reliable. So if it doesn’t work, breaks your stuff or you lose data, I will of course try to help where I can, but you download and install at your own risk. I make to claims as to the complete reliability or Respondr.
Yes, I’m the same guy behind the wildly successful Socialize Me! Plugin for WordPress. So if you like that, chances are, you’ll like this, too…