Solved

displaying HTML page after cookie set

Posted on 1998-11-20
2
167 Views
Last Modified: 2013-12-25
Here's the scenario that a user would go through when selecting a particular link on the site I'm building:

1.  cgi script that determines whether the user has ever been there before.  If "yes" then #4 below, else #2.
2.  form for first-timers that asks for a couple pieces of info.
3.  cgi script which stores the couple pieces of info in a cookie.
4.  the main page of interest.

My question is how does the script in #3 manage both to write a cookie AND then give the user a complex HTML page back?  I want the HTML page in its own file, i.e., I don't want to just print it out one line at a time from my Perl cgi script.  The last two lines of the script currently look like this...

print "Content-type: text/html\n";
print "Set-Cookie: username=$FORM{'username'} calhost=$FORM{'calhost'};
expires=Thu, 31-Dec-98 12:00:00 PST; path=/projects/blitz\n\n";

I thought of having the next line output a server-side include for the entire HTML file, but the server I'm using (I'm not the webmaster) doesn't seem to be set up for SSIs.

Is there another way?  
0
Comment
Question by:leta
2 Comments
 
LVL 2

Accepted Solution

by:
chrisbolt earned 100 total points
ID: 1829714
First of all, I think the Set-Cookie header should be printed before the Content-type header but I am not sure... second, for the complex page you have a couple of options:

1: Use this code to open a separate file and print the output:

open(INFOFORM,"/path/to/htmlfile.html");
print <INFOFORM>;
close(INFOFORM);

2: Instead of printing each line out separately, print it like this:

print <<EOHTML;
<HTML>
. (the rest of your page goes here, just remember to escape @ with the backslash. Quotes and everything work okay, and you don't have to print it out line by line)
</HTML>
EOHTML
0
 

Author Comment

by:leta
ID: 1829715
Solution #2 doesn't meet my criterion that my complex HTML
file be allowed to remain a separate file.  But solution #1
is PERFECT!  I'm rather embarrassed that I couldn't think of
this, but I was so sure that there was some cgi thing that I
didn't know about that I wasn't spending much energy on Perl
solutions.  I did try one very similar thing...

      system("cat myhtmlfile");

but the output from system calls evidently doesn't go to the
same place as the output from print statements.  It should have
been a small mental leap from my attempt to yours, but I was
mentally blocked by that point!

THANKS!!!  
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

The following is a collection of cases for strange behaviour when using advanced techniques in DOS batch files. You should have some basic experience in batch "programming", as I'm assuming some knowledge and not further explain the basics. For some…
Batch, VBS, and scripts in general are incredibly useful for repetitive tasks.  Some tasks can take a while to complete and it can be annoying to check back only to discover that your script finished 5 minutes ago.  Some scripts may complete nearly …
Learn the basics of lists in Python. Lists, as their name suggests, are a means for ordering and storing values. : Lists are declared using brackets; for example: t = [1, 2, 3]: Lists may contain a mix of data types; for example: t = ['string', 1, T…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now