The problem is that you're POSTing information to an html file.
The way a form works is that it passes the information entered to a script which then processes the information. Also, you can use the GET method for the information to show up in the address and process that on the page using javascript. The page will work if you change all the POST entries to GET, but it still won't do anything without any type of scripting.
As an example, here's a simple way to do it using perl/cgi:
If you replaced guestbook.htm with guestbook.cgi (or guestbook.pl depending on your webhost) in the following line:
<form method="post" action="/crossstitcher/guestbook.htm">
and then create a cgi file called guestbook.cgi with the following text:
code:
# format output for HTML
print "Content-type: text/html\n\n";
# replace funky chars in the input stream
$in =~ s/%(..)/pack("c",hex($1))/ge;
# replace + with a space in the input stream
$in =~ s/\+/ /g;
%entry = split (/=/, $in);
print <<END;
<html>
<head><title>something</title></head>
<body>
END
print ("Name entered: ");
print ($entry{'name'});
print <<END;
</body>
</html>
END
The guestbook.cgi file would get the information passed by the guestbook.htm file and display it in a generated html page.