New to VisualForce and Apex and could do with some help please. I've created a VisualForce page and extension class that allows a public sites user to complete a form (accessed via URL that is sent by email to them) and save it, which then updates fields in a custom object. I want to allow them to do this only once - so if they were to click on the link in the email again they would get some sort of message saying "you can no longer access this form". Can someone please help with the best way to do this? Thanks.
As in your case the URL will be sent to user via e-mail, you can use the email id to stop multiple submit.
Your email link should look like this
http://<application-url>?firstname.lastname@example.org. You can get the email parameter and store the form data against this email id. So next time when the user submits again you can check and notify the user.