I have a suggestion form for an A-Z Index and when I test it... submit the form, I see Double Submitions in the SQL Database. I tried it in Access and SQL and both did it... So I think it has to be the code.
Perhaps you could tell me the obvious thing I am doing wrong here:
-----------------------------------------
<CFSET pagepath = "
<cfparam name="FORM.CMD" default="">
<cfparam name="URL.NOTE" default="">
<CFIF FORM.CMD eq "Suggest">
<CFSET Error = "">
<CFIF TRIM(FORM.Name) eq "">
<CFSET Error = #Error# & "- Missing Link Name\r">
</CFIF>
<CFIF TRIM(FORM.Url) eq "" or TRIM(FORM.Url) eq "<CFSET Error = #Error# & "- Missing Link URL\r">
</CFIF>
<CFIF TRIM(FORM.Description) eq "">
<CFSET Error = #Error# & "- Missing Link Description\r">
</CFIF>
<CFIF TRIM(FORM.Email) eq "">
<CFSET Error = #Error# & "- Missing Email Address\r">
</CFIF>
<CFIF len(FORM.Description) gt 75>
<CFSET Error = #Error# & "- Description is too long:\r You have: #len(FORM.Description)# Allowed: 75\r">
</CFIF>
<CFIF Error neq "">
<cfoutput>
<script>
// \r = return
// \t = tab
// \ before a ' or a "
alert('Please Correct the following: \r\r#Error#\r');
history.go(-1);
</script>
<!-- No Script Fail over -->
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<strong>Missing Content:</strong><hr />
<CFSET error = REPLACE(ERROR,"\r","<br>", "ALL"
>
#ERROR#
</font></cfoutput><br />
<form>
<input type="button" onClick="history.go(-1);" value="< Try Again">
</form>
<cfexit>
</CFIF>
<CFIF Error eq "">
<cftry>
<cfquery datasource="#Request.DSN#" username="#Request.DBuser#" password="#Request.DBpass#" dbtype="#Request.DBtype#">
INSERT INTO tb_links(
link_online,
link_updated,
link_group_id,
link_name,
link_description,
link_url,
link_email)
VALUES(
0,
#now()#,
#val(FORM.category)#,
'#trim(FORM.name)#',
'#trim(FORM.description)#',
'#trim(FORM.url)#',
'#trim(FORM.email)#'
);
</cfquery>
<cfcatch>
<CFSET NOTE = "Error Inserting!! <br> Please backup and try again!">
<cflocation url="#CGI.SCRIPT_NAME#?note=#URLEncodedFormat(NOTE)#" addtoken="no">
<cfexit>
</cfcatch></cftry>
<CFMAIL subject="AZ Index Link Suggestion" from="webmaster" to="webmaster@xxxxx.com" server="xxxxxxx" type="html">
<strong>Link request-</strong><br />
<CFIF TRIM(FORM.User) neq ""><strong>USER:</strong> #FORM.USER#<br /></CFIF>
<CFIF TRIM(FORM.email) neq ""><strong>EMAIL:</strong> #FORM.email#<br /></CFIF>
<CFIF TRIM(FORM.Message) neq ""><strong>Message:</strong> #FORM.Message#<br /></CFIF>
<strong>IP:</strong> #cgi.REMOTE_ADDR#<hr />
<strong>Link Name:</strong><br />
#FORM.NAME#<br />
<br />
<strong>Descrtion:</strong><br />
#FORM.Description#<br />
<br />
<strong>Link URL:</strong><br />
#FORM.URL#<br />
<br />
<strong>Category:</strong><br />
#FORM.category#<hr />
What do you want to do?<br />
Click here to approve and/or modify this request.<br />
<a href="#pagepath#/admin/dsp_showall.cfm">#pagepath#/admin/dsp_showall.cfm</a>
</CFMAIL>
<CFSET NOTE = "Thank you for your Suggestion">
<cflocation url="#CGI.SCRIPT_NAME#?note=#URLEncodedFormat(NOTE)#" addtoken="no">
<cfexit>
</CFIF>
<cfexit>
</CFIF>
<cfquery datasource="#Request.DSN#" username="#Request.DBuser#" password="#Request.DBpass#" dbtype="#Request.DBtype#" name="QRY_get_groups">
SELECT group_ID, group_NAME
FROM tb_groups
WHERE group_ONLINE = 1
</cfquery>
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<html xmlns="<head>
<title>A-Z Index - Suggestion</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css"><!--
.y1{border-left:solid #4d99e5 1px;border-right:solid #4d99e5 1px;border-bottom:solid #4d99e5 1px; border-top:solid #4d99e5 1px;}
/--></style>
</head>
<body>
<cfoutput>
<br />
<CFIF URL.NOTE neq ""><br /><br />
<div align="center"><strong><font color="RED" size="4" face="Arial, Helvetica, sans-serif">
#URLDECODE(URL.NOTE)#<br /></font></strong></div><br /><br /><br /><br /><br />
<cfexit>
</CFIF>
<form name="form_suggest" action="#cgi.SCRIPT_NAME#" method="post">
<table width="470" border="0" align="center" cellpadding="12" cellspacing="0" bgcolor="white">
<tr>
<td height="270" align="left" valign="top"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="4" face="Verdana, Arial, Helvetica, sans-serif">A
- Z Index</font></strong> <br />
<font size="2">Suggest a Link Form</font><br />
<br />
</font>
<table border="0" align="center" cellpadding="4" cellspacing="0">
<tr align="left" valign="top">
<td nowrap="nowrap"><strong><font size="3"><font color="##CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Link
Name:</font></font></strong></td>
<td ><input name="name" type="text" size="50"></td>
</tr>
<tr align="left" valign="top">
<td nowrap="nowrap"><font color="##990000"><strong><font size="3"><font color="##CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Link
URL:</font></font></strong></font></td>
<td ><input name="url" type="text" value=" size="50"></td>
</tr>
<tr align="left" valign="top">
<td nowrap="nowrap"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="##CC0000">Description:</font></strong><br />
</font></td>
<td><textarea name="description" cols="38" rows="3"></textarea>
<br />
<font size="2" face="Verdana, Arial, Helvetica, sans-serif"><font size="1">*Max: 125 Characters please</font></font><br /> </td>
</tr>
<tr align="left" valign="top">
<td nowrap="nowrap"><strong><font color="##CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Category:</font></strong></td>
<td><table>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<label>
<input name="category" type="radio" value="0" checked="checked"/>
N/A</label>
</font></td>
</tr>
<cfloop query="QRY_get_groups">
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<label>
<input type="radio" name="category" value="#QRY_get_groups.group_id#"/>
#QRY_get_groups.group_name#</label>
</font></td>
</tr>
</cfloop>
</table></td>
</tr>
<tr align="left" valign="top">
<td colspan="2" nowrap="nowrap"><hr size="1" noshade="noshade" color="990000" /></td>
</tr>
<tr align="left" valign="top">
<td nowrap="nowrap"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><font color="##CC3300" size="2"><strong>Your
email:</strong></font></font></td>
<td><input name="email" type="text" id="email" size="50" />
</td>
</tr>
<tr align="left" valign="top">
<td nowrap="nowrap"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><font size="2">Your
Name:</font></font><font color="##CC3300" size="2"></font></font></td>
<td><input name="User" type="text" id="User" size="50" /></td>
</tr>
<tr align="left" valign="top">
<td nowrap="nowrap"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><font size="2">Message:</font></font><font color="##CC3300" size="2"></font></font></td>
<td><textarea name="message" cols="38" rows="3" id="User"></textarea></td>
</tr>
<tr align="left" valign="top">
<td nowrap="nowrap"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><font size="2">Your
IP:</font></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">#cgi.REMOTE_ADDR#</font></td>
</tr>
<tr align="center" valign="top">
<td colspan="2" nowrap="nowrap"><font color="Red" size="2" face="Arial, Helvetica, sans-serif"><strong><br />
<font color="##CC0000">RED = Required Feilds</font></strong></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" valign="top"><table width="90%" border="0" cellpadding="1" cellspacing="0" bgcolor="000000">
<tr>
<td><table width="100%" border="0" cellpadding="5" cellspacing="0" bgcolor="whitesmoke">
<tr>
<td align="left" valign="top"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Note:</strong><br />
All requests will be reviewed in accordance with University's
Web Policies & Guidelines prior to a final posting.
Thank you.</font></td>
</tr>
</table></td>
</tr>
</table>
<br />
<input name="cmd" type="hidden" value="suggest" />
<input type="submit" value="Submit Link" onClick="if(this.value == 'Submit Link') this.form.submit(); this.value = 'Please Wait...';" /> </td>
</tr>
</table>
</form>
</cfoutput>
</body>
</html>
-----------------------------------------
The top is the submission...
The bottom is the form used to submit.
I must be missing something obvious but I have no clue!
Please let me know if it is my code.. or it must be an ODBC problem.
Thanks!
David McIntosh
Have a nice day!
Perhaps you could tell me the obvious thing I am doing wrong here:
-----------------------------------------
<CFSET pagepath = "
<cfparam name="FORM.CMD" default="">
<cfparam name="URL.NOTE" default="">
<CFIF FORM.CMD eq "Suggest">
<CFSET Error = "">
<CFIF TRIM(FORM.Name) eq "">
<CFSET Error = #Error# & "- Missing Link Name\r">
</CFIF>
<CFIF TRIM(FORM.Url) eq "" or TRIM(FORM.Url) eq "<CFSET Error = #Error# & "- Missing Link URL\r">
</CFIF>
<CFIF TRIM(FORM.Description) eq "">
<CFSET Error = #Error# & "- Missing Link Description\r">
</CFIF>
<CFIF TRIM(FORM.Email) eq "">
<CFSET Error = #Error# & "- Missing Email Address\r">
</CFIF>
<CFIF len(FORM.Description) gt 75>
<CFSET Error = #Error# & "- Description is too long:\r You have: #len(FORM.Description)# Allowed: 75\r">
</CFIF>
<CFIF Error neq "">
<cfoutput>
<script>
// \r = return
// \t = tab
// \ before a ' or a "
alert('Please Correct the following: \r\r#Error#\r');
history.go(-1);
</script>
<!-- No Script Fail over -->
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<strong>Missing Content:</strong><hr />
<CFSET error = REPLACE(ERROR,"\r","<br>", "ALL"
#ERROR#
</font></cfoutput><br />
<form>
<input type="button" onClick="history.go(-1);" value="< Try Again">
</form>
<cfexit>
</CFIF>
<CFIF Error eq "">
<cftry>
<cfquery datasource="#Request.DSN#" username="#Request.DBuser#" password="#Request.DBpass#" dbtype="#Request.DBtype#">
INSERT INTO tb_links(
link_online,
link_updated,
link_group_id,
link_name,
link_description,
link_url,
link_email)
VALUES(
0,
#now()#,
#val(FORM.category)#,
'#trim(FORM.name)#',
'#trim(FORM.description)#',
'#trim(FORM.url)#',
'#trim(FORM.email)#'
);
</cfquery>
<cfcatch>
<CFSET NOTE = "Error Inserting!! <br> Please backup and try again!">
<cflocation url="#CGI.SCRIPT_NAME#?note=#URLEncodedFormat(NOTE)#" addtoken="no">
<cfexit>
</cfcatch></cftry>
<CFMAIL subject="AZ Index Link Suggestion" from="webmaster" to="webmaster@xxxxx.com" server="xxxxxxx" type="html">
<strong>Link request-</strong><br />
<CFIF TRIM(FORM.User) neq ""><strong>USER:</strong> #FORM.USER#<br /></CFIF>
<CFIF TRIM(FORM.email) neq ""><strong>EMAIL:</strong> #FORM.email#<br /></CFIF>
<CFIF TRIM(FORM.Message) neq ""><strong>Message:</strong> #FORM.Message#<br /></CFIF>
<strong>IP:</strong> #cgi.REMOTE_ADDR#<hr />
<strong>Link Name:</strong><br />
#FORM.NAME#<br />
<br />
<strong>Descrtion:</strong><br />
#FORM.Description#<br />
<br />
<strong>Link URL:</strong><br />
#FORM.URL#<br />
<br />
<strong>Category:</strong><br />
#FORM.category#<hr />
What do you want to do?<br />
Click here to approve and/or modify this request.<br />
<a href="#pagepath#/admin/dsp_showall.cfm">#pagepath#/admin/dsp_showall.cfm</a>
</CFMAIL>
<CFSET NOTE = "Thank you for your Suggestion">
<cflocation url="#CGI.SCRIPT_NAME#?note=#URLEncodedFormat(NOTE)#" addtoken="no">
<cfexit>
</CFIF>
<cfexit>
</CFIF>
<cfquery datasource="#Request.DSN#" username="#Request.DBuser#" password="#Request.DBpass#" dbtype="#Request.DBtype#" name="QRY_get_groups">
SELECT group_ID, group_NAME
FROM tb_groups
WHERE group_ONLINE = 1
</cfquery>
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<html xmlns="<head>
<title>A-Z Index - Suggestion</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css"><!--
.y1{border-left:solid #4d99e5 1px;border-right:solid #4d99e5 1px;border-bottom:solid #4d99e5 1px; border-top:solid #4d99e5 1px;}
/--></style>
</head>
<body>
<cfoutput>
<br />
<CFIF URL.NOTE neq ""><br /><br />
<div align="center"><strong><font color="RED" size="4" face="Arial, Helvetica, sans-serif">
#URLDECODE(URL.NOTE)#<br /></font></strong></div><br /><br /><br /><br /><br />
<cfexit>
</CFIF>
<form name="form_suggest" action="#cgi.SCRIPT_NAME#" method="post">
<table width="470" border="0" align="center" cellpadding="12" cellspacing="0" bgcolor="white">
<tr>
<td height="270" align="left" valign="top"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="4" face="Verdana, Arial, Helvetica, sans-serif">A
- Z Index</font></strong> <br />
<font size="2">Suggest a Link Form</font><br />
<br />
</font>
<table border="0" align="center" cellpadding="4" cellspacing="0">
<tr align="left" valign="top">
<td nowrap="nowrap"><strong><font size="3"><font color="##CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Link
Name:</font></font></strong></td>
<td ><input name="name" type="text" size="50"></td>
</tr>
<tr align="left" valign="top">
<td nowrap="nowrap"><font color="##990000"><strong><font size="3"><font color="##CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Link
URL:</font></font></strong></font></td>
<td ><input name="url" type="text" value=" size="50"></td>
</tr>
<tr align="left" valign="top">
<td nowrap="nowrap"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="##CC0000">Description:</font></strong><br />
</font></td>
<td><textarea name="description" cols="38" rows="3"></textarea>
<br />
<font size="2" face="Verdana, Arial, Helvetica, sans-serif"><font size="1">*Max: 125 Characters please</font></font><br /> </td>
</tr>
<tr align="left" valign="top">
<td nowrap="nowrap"><strong><font color="##CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Category:</font></strong></td>
<td><table>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<label>
<input name="category" type="radio" value="0" checked="checked"/>
N/A</label>
</font></td>
</tr>
<cfloop query="QRY_get_groups">
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<label>
<input type="radio" name="category" value="#QRY_get_groups.group_id#"/>
#QRY_get_groups.group_name#</label>
</font></td>
</tr>
</cfloop>
</table></td>
</tr>
<tr align="left" valign="top">
<td colspan="2" nowrap="nowrap"><hr size="1" noshade="noshade" color="990000" /></td>
</tr>
<tr align="left" valign="top">
<td nowrap="nowrap"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><font color="##CC3300" size="2"><strong>Your
email:</strong></font></font></td>
<td><input name="email" type="text" id="email" size="50" />
</td>
</tr>
<tr align="left" valign="top">
<td nowrap="nowrap"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><font size="2">Your
Name:</font></font><font color="##CC3300" size="2"></font></font></td>
<td><input name="User" type="text" id="User" size="50" /></td>
</tr>
<tr align="left" valign="top">
<td nowrap="nowrap"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><font size="2">Message:</font></font><font color="##CC3300" size="2"></font></font></td>
<td><textarea name="message" cols="38" rows="3" id="User"></textarea></td>
</tr>
<tr align="left" valign="top">
<td nowrap="nowrap"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><font size="2">Your
IP:</font></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">#cgi.REMOTE_ADDR#</font></td>
</tr>
<tr align="center" valign="top">
<td colspan="2" nowrap="nowrap"><font color="Red" size="2" face="Arial, Helvetica, sans-serif"><strong><br />
<font color="##CC0000">RED = Required Feilds</font></strong></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" valign="top"><table width="90%" border="0" cellpadding="1" cellspacing="0" bgcolor="000000">
<tr>
<td><table width="100%" border="0" cellpadding="5" cellspacing="0" bgcolor="whitesmoke">
<tr>
<td align="left" valign="top"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Note:</strong><br />
All requests will be reviewed in accordance with University's
Web Policies & Guidelines prior to a final posting.
Thank you.</font></td>
</tr>
</table></td>
</tr>
</table>
<br />
<input name="cmd" type="hidden" value="suggest" />
<input type="submit" value="Submit Link" onClick="if(this.value == 'Submit Link') this.form.submit(); this.value = 'Please Wait...';" /> </td>
</tr>
</table>
</form>
</cfoutput>
</body>
</html>
-----------------------------------------
The top is the submission...
The bottom is the form used to submit.
I must be missing something obvious but I have no clue!
Please let me know if it is my code.. or it must be an ODBC problem.
Thanks!
David McIntosh
Have a nice day!