Taking a look at your form, I'd like to suggest a few things
to alter in the front-end form itself to make your life easier on
the back-end.
1. You are using checkboxes for yes and no. Change these to
radio buttons, where only one can be selected (I am assuming you
don't want someone selecting yes AND no on the same question).
The input tag would look like the following
<input type="radio" name="q1" id="q1" value="yes" />
<input type="radio" name="q1" id="q1" value="no" />
2. Currently you have each input element for the checkboxes
with a unique name. This makes your server-side validation more
difficult than necessary. Notice above how both the name and id of
the question 1 radio elements are the same (q1). This groups the
two radio buttons together and makes server-side validation (IMO).
One the server side, you could do something along the lines
of the following (NOT optimal code...just meant to get you rolling:
<cfif StructKeyExists(form,"q1")>
<cfif form.q1 is "yes">
<cfmail>accepted....</cfmail>
<cfelse>
<cfmail>not accepted...</cfmail>
</cfif>
<cfelseif StructKeyExists(form,"q2")>
<cfif form.q2 eq "yes">
<cfmail>accepted....</cfmail>
<cfelse>
<cfmail>not accepted...</cfmail>
</cfif>
<cfelseif ....>
<cfif form.q1 eq "yes">
<cfmail>accepted....</cfmail>
<cfelse>
<cfmail>not accepted...</cfmail>
</cfif>
</cfif>
This pseudo-code is using the native ColdFusion
function/method StructKeyExists to check if the form field was
passed in (CF passes all form data to the processing page as a
struct/structure). This is a fast way to check if a field, such as
a radio button, was sent from the form.
So, in our example, if the form field q1 exists in the form
structure, someone selected yes or no for that question. Then, you
can use an added conditional (cfif) statement to check the value of
the selected radio button. In this case, it's a string for yes or
no. If it's yes, send one email. If no, send the other.
Again, none of that is optimized...just my quick reply. Also,
none of this replaces what Ian and Dan mention (learn more about
booleans and it's always great to write out your steps in plain
English and then worry about turning it into working code).
Hope this helps!
Craig