/
article3-3.cgi
46 lines (38 loc) · 936 Bytes
/
article3-3.cgi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/usr/bin/perl -T
use strict;
use warnings;
use CGI ':standard';
my $name;
my $logged;
if (param('login')) {
$logged = 1;
$name = param('name');
print header(-cookie => cookie(-name=>'name',
-value=>$name,
-expires=>'+1y'));
} elsif (param('logout')) {
$logged = 0;
$name = 'Guest';
print header(-cookie => cookie(-name=>'name',
-value=>'',
-expires=>'-1d'));
} else {
$logged = defined cookie('name');
$name = cookie('name') || 'Guest';
print header;
}
print start_html(-title => 'Cookies');
print h1('Cookies');
print p('This is a cookie test page');
$name =~ s/</</g;
$name = b($name);
print p("Hello $name");
print start_form;
if ($logged) {
print p(submit(-name=>'logout', -value=>'logout'));
} else {
print p('Enter your name: ', textfield(-name=>'name'),
submit(-name=>'login', -value=>'Set name'));
}
print end_form;
print end_html;