Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Perl (http://www.velocityreviews.com/forums/f17-perl.html)
-   -   Passing variables to frames - cgi (http://www.velocityreviews.com/forums/t25476-passing-variables-to-frames-cgi.html)

divya 02-24-2005 03:45 AM

Passing variables to frames - cgi
 
This is the problem I am having:
I have an index page where I obtain input from the user (for example
their date of birth). This information is passed to Page2. Page2 has
frames. Outside of the frames I can access the user's input. But within
the frames I can't seem to be able to get the value. The date is stored
in a global variable.
Here are snippet's of code:

##Variables
my ($BDAY, $path_info, $script_name);

##Obtaining value from the index page
if ($q->param('birthday')) {
$BDAY = $q->param('birthday');
}

##Creating frame
$path_info = $q->path_info;

##Printing the fames
if (!$path_info) {
&print_frameset($BDAY);
exit 0;
}

##Printing the different frames
&print_html_header; ##HTML headers
&print_content if $path_info=~/content/; ##Left pane with links
&print_expand($BDAY) if $path_info=~/expand/; ##Expanded graph
&print_analyse if $path_info=~/analyse/; ##Options to do
analysis
&print_end; ##End HTML
&print_error;

##Setting up the frames
sub print_frameset {

my $birthday = shift;
$script_name = $q->script_name;

print "<html><head><title>$TITLE</title></head>";
print "<frameset cols='8%,92%'>";
print "<frame src='$script_name/content' name='content'>";
print "<frameset rows='70%,30%'>";
if ($birthday) {
print "<frame src='$script_name/expand' name='expand'>";
print "<frame src='$script_name/analyse' name='analyse'>";
}
else {
print "<frame src='$script_name/error' name='error'>";
}
print "</frameset>";
print "</frameset>";

exit 0;
}

One of the frame's contents:
sub print_expand {

my $birthday = shift;
print $q->h3("My birthday is on: $birthday");

}

In this frame all it prints is "My birthday is on: " it is not printing
the variable.

I cannot figure out why I cannot get the value in the subroutines. I
have checked and the value does get passed from the index page to this
page. I can print it from the global variable $BDAY but not from the
sub routines that form the frames.

I have spent almost 2 days on this and I am starting to go insane!! I
would appreciate any hints/help/suggestions you can provide.

Thanks!
Me


Joe Smith 02-24-2005 10:09 AM

Re: Passing variables to frames - cgi
 
divya wrote:

> if ($birthday) {
> print "<frame src='$script_name/expand' name='expand'>";
> print "<frame src='$script_name/analyse' name='analyse'>";
> }


> I cannot figure out why I cannot get the value in the subroutines.


print qq(<frame src="$script_name/expand?birthday=$BDAY" name="expand">\n);
print qq(<frame src="$script_name/analyse?birthday=$BDAY"
name="analyse">\n);

You'll need to use some of the other methods from CGI.pm to
do URL encoding on the value of $BDAY.
-Joe


All times are GMT. The time now is 04:43 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.