This appears to be the classic "global variable/uninitialized variable"
issue with your script.  Mod_perl will load that script once and never
reload it again unless you tell it too, even when different users access
that script.  If you have written a CGI script that doesn't lead itself to a
ready rewrite to run under mod_perl, try running it under the "PerlRun" mode
of mod_perl, it works great for this situation.

Go here to read up on the issue:
http://perl.apache.org/docs/1.0/guide/porting.html#Sometimes_it_Works__Sometimes_it_Doesn_t

dale

----- Original Message ----- 
From: "David Ressman" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, May 29, 2003 1:19 PM
Subject: mod_perl caching form data?


> Hi all,
>
> I'm having a problem with mod_perl 1.2.7 that's baffling me completely,
> and I've been searching and reading for days, but I still can't figure
> it out.  My apologies if this comes up frequently.  I did try rather
> lengthy searches through the mailing list archives.
>
> Right now, I'm using mod_perl 1.2.7 compiled into an apache 1.3.27
> server running on a Solaris 9 (semi-current patches, though I can't
> imagine that that's relevant) server.  I've written some fairly
> straight-forward mod_perl scripts (using CGI.pm).  They take form
> data from the user, process it, and stick it in a database (through
> DBI).
>
> So far, so good.  Everything works pretty well...  Except that
> something's caching previously entered form data and displaying it back
> to me as the default values in those same forms.  As an example, this
> form has a text field that asks for IP addresses, and the text input
> will occasionally be filled out with the IP address of a system that
> you had entered a few minutes ago.
>
> Naturally, I suspected that my browser was the guilty party, even
> though I had specified '-1d' as the expiration time in the CGI header()
> command.  It turns out that this is not the case.  The forms will
> occasionally be pre-filled out with IP addresses that other people have
> given!  I even went so far as to set up a network sniffer to verify
> that the server was indeed setting (in the HTML it sent to the client)
> the "value" parameter of the text fields to an IP address that another
> user had previously entered.
>
> Needless to say, my script is *not* setting the "default" or "value"
> parameters for these text fields.  As an uneducated guess, I'd say that
> each httpd child-process is automatically filling out forms with data
> that it itself has previously received, but that's only a guess, and it
> still doesn't get me any closer to figuring out why it's happening.
>
> Can anyone offer any assistance or point me somewhere that I could find
> some documentation on what's happening?  I'm completely baffled.
>
> Thanks!
>
> David

Reply via email to