I am going to setup a Freeform Pro form on a website to replace a downloadable PDF form. The user will still need to print the form results off, so after a user fills out the large form and submits I want to display the results on a page or in a popup window that the user can then print. But I don't want that page to be accessible to the general public, so maybe it has a obfuscated URL that is time-sensitive or something. Any ideas about how to do this? Thanks for any info!
1 Answer
The more recent versions of EE (I think > 2.7) use CSRF in their forms by default so you automatically get a time sensitive submitted page.
If you want to be more explicit and if the above doesn't work for you (i.e. earlier version of EE), I would add a hidden form field (which Freeform allows) and auto-populate it with a unique value - either a timestamp (epoch seconds) or md5 hash - both of these are standard features in PHP. Then the results page just queries the form entries using that unique identifier in the URL. If you use a timestamp you can make access to the submitted form data even tighter by using the value and adding, say 3600 (1 hour in seconds) after which time the view to the submitted form expires.
Good luck.
-
This is another good resource along the lines of this answer: support.solspace.com/solution/categories/115922/folders/… Just drop mentions of form editing and
{exp:freeform:edit}
since you're only retrieving data.– SolspaceMay 6, 2015 at 2:54 -
Thanks tatlar, I implemented the timed method and will also implement the hash after talking to the client. Thanks again! May 12, 2015 at 13:34