Simply using <cfset session.formData = form /> didn't work, however i did use some of Daniels code and the session scope and now all works
Thanks for all your help guys. Cheers, On Jul 17, 1:57 pm, "Dale Fraser" <[EMAIL PROTECTED]> wrote: > Page 1 > > <cfset session.formData = form /> > > Page 2 > > <cfset form = session.formData /> > > Regards > Dale Fraser > > http://dalefraser.blogspot.com > > -----Original Message----- > From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf > > Of Rony > Sent: Tuesday, 17 July 2007 12:46 PM > To: cfaussie > Subject: [cfaussie] Re: Forms issue > > Does anyone know how to pass FORM variables form one page to another? > > I am using CFHEADER to redirect pages and want to also include the > form fields, which are available. > > Thanks > > On Jul 14, 10:43 am, Rony <[EMAIL PROTECTED]> wrote: > > Hey Daniel, > > > Many thanks for this tremendous post. > > > This is exactly what i needed to get me started in troubleshooting > > this issue. > > > I will have a look at integrating into my system and see how it works. > > > I do have file upload forms which means i would also be looking at a > > solution/assistance for this problem as well. > > > Thanks so much mates, this is great. > > > Cheers, > > > On Jul 13, 6:43 pm, "Daniel Crowther" <[EMAIL PROTECTED]> > > wrote: > > > > Hi Rony > > > > We currently use the 404 Error redirect system from our systems. The > code > > > below working for URL and FORM Data, except when file upload is required > (eg > > > multipart/form-data forms, we have some code to do these, but it is not > as > > > straight forward as the normal form post data). I have created an exact > of > > > our system with just the IIS 404 system, This is how we set the system > up. > > > > Using Coldfusion 7 with IIS 6 on Windows 2003 server. > > > > IIS Setup. > > > > Home Directory Tab > > > > - Click "Configuration" button, in the Wildcard application maps > > > select the jrun_iis6_wildcard.dll and click edit. Make sure that "Verify > > > that file exists is ticked (if it is unticked it will not work) > > > > Custom Error Tab > > > > - Set 404 "Message Type:" to URL and "URL" to /index.cfm (or > whatever > > > page you wish to do the processing after the URL/Form variables have > been > > > reprocessed.) > > > > - I cannot remember exactly, but the 405 might also need to be set > to > > > that URL on IIS5. > > > > ################################ Start Code > > > #################################### > > > > Application.cfc > > > > <cfcomponent> > > > > <cffunction name="onRequestStart"> > > > > <h3>Data Dump before URL 404</h3> > > > > <cfinclude template="DataDump.cfm"> > > > > <cfscript> > > > > if (left(cgi.query_string,4) eq '404;') { > > > > // Step 1. Capture Query String into URL404 > variable > > > > URL404.Original = cgi.query_string; > > > > // Step 2. Clean 404 Error > > > > URL404.Complete = > > replace(URL404.Original,"404;http://#cgi.server_name#:#cgi.server_port#/","" > > > ,"ALL"); > > > > // Step 3. Capture for Actual Query Param > > > > if (FindNoCase("?",URL404.Complete)) { > > > > URL404.ActualQueryString = > > > ListGetAt(URL404.Complete, 2, "?"); > > > > URL404.Complete = > > > ListDeleteAt(URL404.Complete, 2, "?"); > > > > } > > > > if (FindNoCase("&",URL404.Complete)) { > > > > URL404.ActualQueryString = > > > ListGetAt(URL404.Complete, 2, "&"); > > > > URL404.Complete = > > > ListDeleteAt(URL404.Complete, 2, "&"); > > > > } > > > > if (FindNoCase(";",URL404.Complete)) { > > > > URL404.sessionstring = > > > ListGetAt(URL404.Complete, 2, ";"); > > > > URL404.jsessionid = > > > ListGetAt(URL404.sessionstring, 2, "="); > > > > URL404.Complete = > > > ListDeleteAt(URL404.Complete, 2, ";"); > > > > } > > > > // Step 4. Capture Filename from Query String > > > > URL404.Include = ListGetAt(URL404.Complete, > > > listlen(URL404.Complete,"/") , "/"); > > > > // Step 5. Check that Filename exists, must > contain > > > a dot > > > > if (findnocase(".", URL404.Include)) { > > > > URL404.VirtualQuerystring = > > > ListDeleteAt(URL404.Complete, listlen(URL404.Complete,"/") , "/"); > > > > } else { > > > > URL404.Include = "index.htm"; > > > > URL404.VirtualQuerystring = > URL404.Complete; > > > > } > > > > if(find(".",URL404.Include)) { > > > > URL404.Extension = > > > listLast(URL404.Include,"."); > > > > } else { > > > > URL404.Extension = ""; > > > > } > > > > url["Extension"] = URL404.Extension; > > > > // Step 6. Split Virtual Query String Back into > URL > > > Variables. > > > > ActionList = ""; > > > > for(QCounter=1; QCounter LTE > > > ListLen(URL404.VirtualQuerystring,"/"); QCounter=QCounter+1) { > > > > QItem = > > > ListGetAt(URL404.VirtualQuerystring,QCounter,"/"); > > > > if (FindNoCase(":",QItem)) { > > > > //For > Examplehttp://www.somedomain.com/var_a:1/var_b:2/index.htmwillresultin > url.var_a > > > = 1 and url.var_b=2 > > > > url[ListGetAt(QItem, 1, ":")] = > > > "#ListGetAt(QItem, 2, ":")#"; > > > > } else { > > > > // If variable is not a list pair > > > seperated by colons, then add to comma seperated list. > > > > ActionList = > > > listappend(ActionList,QItem); > > > > } > > > > } > > > > url["UrlActionList"] = ActionList; > > > > // Step 7. Split Actual Query String Back into > URL > > > Variables. > > > > if (isDefined("URL404.ActualQuerystring")) { > > > > variables[ListGetAt(ListGetAt(URL404.ActualQuerystring, 1 , "&"), 1, > "=")] > > > = "#ListGetAt(ListGetAt(URL404.ActualQuerystring, 1 , "&"), 2, "=")#"; > > > > url[ListGetAt(ListGetAt(URL404.ActualQuerystring, 1 , "&"), 1, "=")] = > > > "#ListGetAt(ListGetAt(URL404.ActualQuerystring, 1 , "&"), 2, "=")#"; > > > > } else { > > > > // No additional query parameters exist. > > > > } > > > > //Step 8. Capture Form Variables > > > > URL404.VirtualPrequestData = > gethttprequestdata(); > > > > if > > > (StructKeyExists(URL404.VirtualPrequestData.headers,"Content-Type") AND > > (FindNoCase("application/x-www-form-urlencoded",URL404.VirtualPrequestData.h > > > eaders["Content-Type"]))) { > > > > //Normal Form Post. > > > > URL404.VirtualFormData = > > > URL404.VirtualPrequestData.content; > > > > for(FCounter=1; FCounter LTE > > > ListLen(URL404.VirtualFormData,"&"); FCounter=FCounter+1) { > > > > FItem = > > > ListGetAt(URL404.VirtualFormData,FCounter,"&"); > > > > if (FindNoCase("=",FItem)) { > > > > form[ListGetAt(FItem, 1, "=")] > = > > > "#URLDecode(ListGetAt(FItem, 2, "="))#"; > > > > } > > > > } > > > > } else if > > > (StructKeyExists(URL404.VirtualPrequestData.headers,"Content-Type") AND > > (FindNoCase("multipart/form-data",URL404.VirtualPrequestData.headers["Conten > > > t-Type"]))) { > > > > //Multipart Encoded Form Post (EG When > > > uploading a File) > > > > URL404.VirtualFormData = > > > URL404.VirtualPrequestData.content; > > > > URL404.VirtualFormDataBoundary = > > > listgetat(URL404.VirtualPrequestData.headers["Content-Type"],2,"="); > > > > //Decode Binary to String > > > > // INSERT CODE TO DECODE BINARY DATA HERE > > > > } > > > > } else { > > > > URL404 = StructNew(); > > > > } > > > > </cfscript> > > > > <!--- The following code is to force a 404, when the > extension > > > is not an allow extension. Required for missing Images and other file > types. > > > ---> > > > > <cfif (len(URL404.Extension) and NOT > > > ListFindNoCase("htm,html,cfm,cfml",URL404.Extension))> > > > > <!--- Send 404 Header Response ---> > > > > <cfheader statuscode="404" statustext="Not Found"> > > > > <!--- <cfinclude template="Error404.cfm"> ---> > > > > <cfelse> > > > > <!--- Send 200 Header Response, Required when page was > > > generated from Custom URL 404 ---> > > > > <cfheader statuscode="200" statustext="OK"> > > > > </cfif> > > > > <hr> > > > > <h3>Data Dump after URL 404</h3> > > > > <cfinclude template="DataDump.cfm"> > > > > <br> > > > > </cffunction> > > > > </cfcomponent> > > > > Index.cfm - This page will be executed after the application.cfc has > been > > > processed. > > > > <cfheader statuscode="200" statustext="OK"> > > > > <h3>This is the index.cfm page.</h3> > > > > <cfdump var="#url#"> > > > > DataDump.cfm - This file is just to show the data before and after the > URL > > > 404 data has been processed > > > > <cfdump var="#cgi.query_string#" label="Query String Data"><br> > > > > <br> > > > > <cfdump var="#url#" label="URL Data"> > > > > <br> > > > > <cfdump > > ... > > read more >> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "cfaussie" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en -~----------~----~----~----~------~----~------~--~---
