I've been framed! Losing target frame under Apache::Registry

2000-05-22 Thread Nigel Hamilton

Hi,

I've just installed: mod_perl (1.24), Apache (1.3.11) on Red Hat
Linux (5.1). As far as I can tell, mod_perl is installed OK. The
location directive in httpd.conf contains: PerlSendHeader On.

I'm now attempting to migrate my .cgi scripts to run under
Apache::Registry. Here's the BUG. Imagine two frames:

+---+
|   A   |
+---+
|   |
|   B   |
|   |
+---+

Both document A and B are the results of a CGI script. Frame A
contains a menu. When a user chooses an option from the menu ... the form
is submitted and B is the target frame for the result. 

Under normal CGI this code works fine. However under mod_perl
(Apache::Registry) the script that generated frame A is re-executed and
the output appears in frame B! Two menus now appear, one in frame A, the
other in frame B.

How does the browser (Netscape on Linux) get confused about the
target frame for a script? Is there a race condition? How does mod_perl
affect the target frame of the script?

Any help would be much appreciated.

Nige

p.s. these scripts work fine under normal CGI ... so I suspect mod_perl is
making the difference.







Re: I've been framed! Losing target frame under Apache::Registry

2000-05-22 Thread Charles Dalsass


Nigel,

I don't think that mod_perl would have any effect on your browser like
that. Your conversion to Apache::Registry probably altered the URLs in
such a way that the script which you are requesting is actually the
wrong one. Did you move the scripts around when you did the conversion?
Perhaps it's the relative/absolute links that are getting confused.
Check the url from frame 'A' when it is clicked and make sure it's the
right one. 

C

Nigel Hamilton wrote:
 
 Hi,
 
 I've just installed: mod_perl (1.24), Apache (1.3.11) on Red Hat
 Linux (5.1). As far as I can tell, mod_perl is installed OK. The
 location directive in httpd.conf contains: PerlSendHeader On.
 
 I'm now attempting to migrate my .cgi scripts to run under
 Apache::Registry. Here's the BUG. Imagine two frames:
 
 +---+
 |   A   |
 +---+
 |   |
 |   B   |
 |   |
 +---+
 
 Both document A and B are the results of a CGI script. Frame A
 contains a menu. When a user chooses an option from the menu ... the form
 is submitted and B is the target frame for the result.
 
 Under normal CGI this code works fine. However under mod_perl
 (Apache::Registry) the script that generated frame A is re-executed and
 the output appears in frame B! Two menus now appear, one in frame A, the
 other in frame B.
 
 How does the browser (Netscape on Linux) get confused about the
 target frame for a script? Is there a race condition? How does mod_perl
 affect the target frame of the script?
 
 Any help would be much appreciated.
 
 Nige
 
 p.s. these scripts work fine under normal CGI ... so I suspect mod_perl is
 making the difference.