in reply to hidden fields

In addition to what others have said, you do want to minimize the amount of details that you carry between forms, both from a bandwidth-friendly standpoint, as well as from a security standpoint (since hidden fields are only hidden to those oblivious to the View Source command...)

The best solution is to create a unique session id (based on any number of unique factors including localtime, user's id, random numbers, and so forth), and store the large data into that, and only send the session id in the hidden field. The recieving script can then verify the id and get the info it needs from the file. Now, one problem here is how to store the data; arrays and hashes don't store directly, but if you use either Data::Dumper, or FreezeThaw (as examples), which can convert a complex data structure to something that can be recovered, you can write the data out to file and read it in at the next step.

If you are absolutely keen on using everything as hidden fields, you can also probably apply these same modules to convert the array or hash to a printable string, which you can use as the value field for the hidden array. But again, this is a potental security problem as you open your CGI inner workings to the user.


Dr. Michael K. Neylon - mneylon-pm@masemware.com || "You've left the lens cap of your mind on again, Pinky" - The Brain