Debugging PHP forms
PHP forms are problematic when it comes to getting them to work the way that you desire.
Over the years that I have been constructing web-based forms I have many observations and tips on what to expect and how to overcome some of the problems that you will encounter. Suffice it to say there is no short answer to getting forms to work correctly and it may be a case of finding the best third party solution to fit your requirements.
If you are like me then you will want to do this all yourself or at least get an insight into why other solutions that you may be trying to get to work are having problems.
Server logs are good ways to see potential problems in forms.

The logs are useful even if the form appears to be working correctly but there are potential problems that you may not be aware.
Background to this page
I was very active in the design and development of various forms for a Village Hall website that I was given the task of administering.
I have taken the online php feedback form offline. I am looking at other things and nobody has used it to date.
If I pickup the development of the forms for the Village Hall I may continue. However, the server log capabiity of the hosting package, TSO, is not as good as the HostingUK one. As such I am not sure that the same notices and warnings are thrown there.
For some reason I put the message construction ($Bindo) before the form???? I think that all I need is some re-ordering.
My plan was to echo the contents of the submitted form at the top of the page and "push" the "filled" form down on the screen. I think that I will have to use a manipulation of the DOM to add this text to a div at the top of the main content.
Undefined indexes
This could be due to the form validation that I adopted
also email
The php validation page, which uses the same method does not generate these warnings
Timezone setting not set
The php Validation that doesn't throw errors:
The code looks pretty much the same apart from the verbose message echoed back to the screen. However, this is where the "Notice" is thrown