Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: CGI - How to use upload_hook and query the query string ?

by cees (Curate)
on Feb 07, 2006 at 18:06 UTC ( [id://528582]=note: print w/replies, xml ) Need Help??


in reply to CGI - How to use upload_hook and query the query string ?

If you think about this for a while, then you will realize that it is impossible for you to access any POST parameters before you use the upload hook functionality. The uploaded files are actually part of the POST parameters, so in order to access the POST parameters, you would have to parse the entire POST request (includng the files). After that, what is the point of using the upload hook, since the file is already uploaded and in a temporary file on the server.

The way I got around it is to put the parameters in the URL action of the form as simple query paramaters. Those are accessible to you at any time in the $ENV{QUERY_STRING} variable, and you can fairly easily parse those manually and pull out your parameters before you invoke CGI.pm to parse the POST request.

  • Comment on Re: CGI - How to use upload_hook and query the query string ?

Replies are listed 'Best First'.
Re^2: CGI - How to use upload_hook and query the query string ?
by ikegami (Patriarch) on Feb 07, 2006 at 18:35 UTC
    No need to parse it manually
    my $param = do { local $ENV{'REQUEST_METHOD'} = 'GET'; local $ENV{'CONTENT_LENGTH'}; local @QUERY_PARAM; my $cgi = CGI->new(); $cgi->param(...) }; my $cgi; if ($param) { $cgi = CGI->new(\&hook); } else { $cgi = CGI->new(); }

    Untested, even less so with mod_perl.

    Update: Added local @QUERY_PARAM;.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://528582]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (2)
As of 2024-04-20 05:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found