home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl560.zip / eg / cgi / frameset.cgi < prev    next >
Text File  |  1999-07-20  |  2KB  |  82 lines

  1. #!/usr/local/bin/perl
  2.  
  3. use CGI;
  4. $query = new CGI;
  5. print $query->header;
  6. $TITLE="Frameset Example";
  7.  
  8. # We use the path information to distinguish between calls
  9. # to the script to:
  10. # (1) create the frameset
  11. # (2) create the query form
  12. # (3) create the query response
  13.  
  14. $path_info = $query->path_info;
  15.  
  16. # If no path information is provided, then we create 
  17. # a side-by-side frame set
  18. if (!$path_info) {
  19.     &print_frameset;
  20.     exit 0;
  21. }
  22.  
  23. # If we get here, then we either create the query form
  24. # or we create the response.
  25. &print_html_header;
  26. &print_query if $path_info=~/query/;
  27. &print_response if $path_info=~/response/;
  28. &print_end;
  29.  
  30.  
  31. # Create the frameset
  32. sub print_frameset {
  33.     $script_name = $query->script_name;
  34.     print <<EOF;
  35. <html><head><title>$TITLE</title></head>
  36. <frameset cols="50,50">
  37. <frame src="$script_name/query" name="query">
  38. <frame src="$script_name/response" name="response">
  39. </frameset>
  40. EOF
  41.     ;
  42.     exit 0;
  43. }
  44.  
  45. sub print_html_header {
  46.     print $query->start_html($TITLE);
  47. }
  48.  
  49. sub print_end {
  50.     print qq{<P><hr><A HREF="../index.html" TARGET="_top">More Examples</A>};
  51.     print $query->end_html;
  52. }
  53.  
  54. sub print_query {
  55.     $script_name = $query->script_name;
  56.     print "<H1>Frameset Query</H1>\n";
  57.     print $query->startform(-action=>"$script_name/response",-TARGET=>"response");
  58.     print "What's your name? ",$query->textfield('name');
  59.     print "<P>What's the combination?<P>",
  60.     $query->checkbox_group(-name=>'words',
  61.                    -values=>['eenie','meenie','minie','moe']);
  62.  
  63.     print "<P>What's your favorite color? ",
  64.     $query->popup_menu(-name=>'color',
  65.                -values=>['red','green','blue','chartreuse']),
  66.     "<P>";
  67.     print $query->submit;
  68.     print $query->endform;
  69. }
  70.  
  71. sub print_response {
  72.     print "<H1>Frameset Result</H1>\n";
  73.     unless ($query->param) {
  74.     print "<b>No query submitted yet.</b>";
  75.     return;
  76.     }
  77.     print "Your name is <EM>",$query->param(name),"</EM>\n";
  78.     print "<P>The keywords are: <EM>",join(", ",$query->param(words)),"</EM>\n";
  79.     print "<P>Your favorite color is <EM>",$query->param(color),"</EM>\n";
  80. }
  81.  
  82.