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.htmwillresult in 
> > 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 var="#form#" label="Form Data">
>
> > <br>
>
> > <cfdump var="#variables#" label="Variables Data">
>
> > Formtest.htm
>
> > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
>
> > <html>
>
> > <head>
>
> >       <title>IIS 404 test</title>
>
> > </head>
>
> > <body>
>
> > <h3>Normal Form - Get Method</h3>
>
> > <form action="/form/test1/index.htm" method="get" name="Form1" id="Form1">
>
> >       <input type="hidden" name="hiddenfield" value="hiddenvalue">
>
> >       <input type="input" name="inputfield" value="inputvalue"><br>
>
> >       <input type="submit" value="submit"><br>
>
> > </form>
>
> > <br>
>
> > <h3>Normal Form - Post Method</h3>
>
> > <form action="/form/test2/index.htm" method="post" name="Form1" id="Form1">
>
> >       <input type="hidden" name="hiddenfield" value="hiddenvalue">
>
> >       <input type="input" name="inputfield" value="inputvalue"><br>
>
> >       <input type="submit" value="submit"><br>
>
> > </form>
>
> > <br>
>
> ...
>
> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to