Link to home
Create AccountLog in
Avatar of JohnMac328
JohnMac328Flag for United States of America

asked on

Email form validation with recaptcha

I am trying to get recaptcha to work with ASP.  I have it in my form and am trying to submit it but get this error - Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
  I was thinking that the recaptcha would work as a from checking field but it is doing mor than that.  How to I get it to check that the characters have been entered and also pass my form variables to the database and send the email?

Any help is greatly appraciated,
John
example.txt
Avatar of Roy Weil
Roy Weil
Flag of United States of America image

When I did the recaptcha the verification was done in the page that was called when the form was submitted, very near the top of the code.

i.e.  The call to recaptcha _confirm would be in the Send_to_Friend_submit.asp routine.  Whn it fails I did:

I do not have access to my code right now, but I think it went something like below.

rechallenge = request.form("recaptcha_challenge_field")
reresponse = request.form("recaptcha_response_field")
if (recaptcha_confirm(privkey,,reresponse)
       response.write  "Error  You have incorrectly typed the necessary words." & _
                      " Please click your Back button and try again."
       response.end   
 
end if
 
'  code to send th email

Open in new window

usally this error " Multiple-step OLE DB operation generated errors" occurs when we try to store more data for a field but the field length was less that the acceptable chars.

can you try and check on that point? also can you tell me the line no it comes?
Avatar of JohnMac328

ASKER

It is line 55, it should not be trying to insert any data, it is just checking to see if the characters are entered correctly, not storing them.  How about this.  When send to a friend is clicked the recaptcha form comes up, then after they correctly enter the data (it does work as a stand alone page) the send to a friend page comes up and then they enter the emails, will that provide the security step I am after to reduce spamming of the email server?
that works, but you need to added a session check like session("captcha") = true and check that in other page. so if any one come to the page directly it redirects them to captcha page
Thanks dosth, would you have the exact session("captcha") code to do that?
I am assuming that this example also has to be on a page by itself before getting to the actual process form.  This would also need a session("captcha") type check?  Do you have the syntax for that?
this page all the code is on the same page, captcha verification done using javascript
I still get Multiple-step OLE DB operation generated errors when I try to have it all in the same form.  
post all the code
Here it is
example2.txt
It bombs on this line of the send_to_friend_submit.  It should not be trying to pass anything, if I take out the new code the page works.
if txt_Presentation_Name<>"" then RecordSet5.fields("txt_Presentation_Name")=txt_Presentation_Name end if
ASKER CERTIFIED SOLUTION
Avatar of dosth
dosth
Flag of India image

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
If I don't put anything in the box that checks addition, it still passes the form data.  Is there a way to put in form checking?
Here is my submit button

<td colspan="2" align="center" bgcolor="#ffffcc"><script type="text/javascript">DrawBotBoot()</script><input name="Submit" type="submit" id="Submit" onsubmit="return ValidBotBoot();" value="Send Email" /></td>
Wait, got it, many thanks.
thanks your points make me to put me as Master in this zone, so you will get Many thanks from me
dosth said: "this page all the code is on the same page, captcha verification done using javascript"

If the captcha is done via javascript on the same page,  there are two minor problems.

1) the page is not secure.  Someone can easily copy the page,  modify it by replacing the check and then do the submission.

2) Some users do not Javascript enabled.
Thanks for your imput rweil, I am going to give this a try and see if it takes care of the issue we are having.  If not, I will be back :)