Problems with Forms
Question: I have created a form with a number of fields in it and set it up to be emailed to me but I am only receiving some of the field values in the email. Why is this?
Answer: There are three reasons why all of the fields in your form are not being received.
- The form fields may not all be contained within the actual form. Check that the <form> tag preceeds all of the form fields and the </form> tag follows all of the form fields. Any form fields not enclosed between these two tags are not a part of the form that will be sent.
- You may have given two or more fields the same field name. Check the name= parameters within all of your form fields. Only one field with each name will be sent in the email. The only place where you should use the same name is for radio buttons where the different buttons supply different values where the selected button will be the one sent. In all other cases giving two fields the same name will mean that one of the fields is never sent.
- If you have checked your HTML and neither of these applies then the problem is most likely an incompatibility between your field names (and/or the number of fields that you are using) and the form to mail script that you are using to send the email. Most form to mail scripts have several field names that have special meanings to the script and which may therefore not be passed in the email. Some scripts only recognise certain field names and so those will be the only ones that the script processes. If you are using a Bravenet form to mail script then you can use whatever field names you like (except for the few with special meanings) but you are restricted to 99 fields. If you are using the Ask Felgall form to mail script then you can also use whatever field names you like (except for those with special meanings). My script has no limit on the number of fields but if you are using a template then only those field names that appear in the template will be included in the email.
This article written by Stephen Chapman, Felgall Pty Ltd.