There is a lot to remember when adding validation to inputs to your website. If your wanting to use a fully implemented validation procedure I would suggest using a framework like Codeignighter. I’d also stick some form of Captcha field into your form, helps stop spammers firing off a million and one emails from your server. Good luck!
It should probably be mentioned that the above code doesn’t apply any kind of validation to what is passed to the mail function.
This means that you could potentially insert additional headers and use the contact form as a spam tool.
Mine accounts for headers and etc. I pieced it together a long while back. Quite happy with it. Form processing is probably the hardest thing I’ve ever done to get right. Usually if you grab some one piece of code it has like 10 pages of mumbo jumbo. I was never ok with that. I needed to know what it was doing.