Reputation: 320
I have a very basic cfquery insert that is inserting my form information 3 times on submit.
Anyone know how to stop this?
Here is my form.
http://jsfiddle.net/DTcHh/27952/
And my page that the form is sent to contains the following cfquery :
<cfquery datasource="OSAnet-College" result="qDonate">
INSERT into V2_OnlineDonations(FNAME,LNAME,PHONE,EMAIL,CAUSE,DATEDONATE)
VALUES (
<cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.FNAME#">
, <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.LNAME#">
, <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.PHONE#">
, <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.EMAIL#">
, <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.CAUSE#">
, <cfqueryparam cfsqltype="cf_sql_timestamp" value="#NOW()#">
)
</cfquery>
Any help would be appreciated.
Upvotes: 0
Views: 544
Reputation: 367
try something like this:
<cfquery datasource="OSAnet-College" result="qDonate">
IF
(
NOT EXISTS
(
SELECT * FROM V2_OnlineDonations
WHERE FNAME = <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.FNAME#">
AND LNAME = <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.LNAME#">
AND PHONE = <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.PHONE#">
AND EMAIL = <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.EMAIL#">
AND CAUSE = <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.CAUSE#">
)
)
BEGIN
INSERT into V2_OnlineDonations(FNAME,LNAME,PHONE,EMAIL,CAUSE,DATEDONATE)
VALUES (
<cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.FNAME#">
, <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.LNAME#">
, <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.PHONE#">
, <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.EMAIL#">
, <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.CAUSE#">
, <cfqueryparam cfsqltype="cf_sql_timestamp" value="#NOW()#">
)
END
</cfquery>
Upvotes: 1