If you website has one or the other error, it does not have to be that you are a bad coder. Some projects just get bigger over time and sometimes a complex web application is so connected thoughout the pages that a tiny change on one end could lead to a total failure on another.
It is good to create test procedures to guarantee the basic functionality without the need to test it over and over again.
There is an Open Source tool from Switzerland called "WebTest", you might want to take a look at:
The tool gives you little definition language by which you define what steps should be tested on your site and the program walks through and gives you a HTML report of the results. Very useful!