in reply to Is if possible to fill all framesets with the same CGI?

melguin, your concept is fine.

But you have a number of minor things wrong with your script which you were apparently unable to diagnose because you were not looking at the error log. So: first and foremost find out where the error log is on your server and get chummy with it. That's your life line. My response here is based on loading your code and then walking through the errors that popped up in the log one-by-one.

The first few things were:
  - colon after EOF in page_bottom
  - no check for undefined param("page") on first call

Here's a working revision of your code (I had to change a few things for my setup that you will want to change back):

#!/usr/bin/perl -w use strict; use CGI qw(param); my $head = "Content-type: text/html\n\n"; $head .= "<html><head></head>\n"; my $foot = "</html>\n"; if (defined param("page")) { if (param("page") eq "top") { page_top(); exit; } elsif (param("page") eq "bottom") { page_bottom(); exit; } } else { page_main(); } sub page_main { print <<MAIN; $head <frameset rows="50,*"> <frame src="test.pl?page=top" name="frametop"> <frame src="test.pl?page=bottom" name="framebottom"> </frameset> $foot MAIN } sub page_top { print <<TOP; $head <h1>TOP OF THE PAGE</h1> $foot TOP } sub page_bottom { print <<BOTTOM; $head <h1>THIS IS THE BOTTOM</h1> $foot BOTTOM

Replies are listed 'Best First'.
Re: Re: Is if possible to fill all framesets with the same CGI?
by melguin (Pilgrim) on May 14, 2001 at 20:48 UTC
    Thanks both to your very helpful replies. The major problem ended up being my html in the $head I got externally. However, your comments were very useful to my coding in general. Much enlightened, thanks.