如何检查用户是否第一次进入我的页面?

时间:2014-11-23 16:10:22

标签: perl cookies

我写了以下子程序,为第一次来到我网站的新用户设置cookie

Sub setcookie {
$cookie_id = localtime();
$exp = "Fri, 31-Sep-2015 24:00:00 GMT";
if($ENV{'HTTP_COOKIE'} eq "") {
        print "Set-Cookie: first_access=$cookie_id; expires=$exp; PATH=/; domain=mysite.com\n";
 }
}

每当用户点击“购买”以从我的商店购买任何商品时,脚本将检查用户是否已经拥有cookie。如果没有,请显示登录表单。这是我一直坚持的一步。

&setcookie;
if ($form{submit} eq "Purchase")
    if (!= cookieForuser)
        &displayloginform;
    else
         &checkoutform;

如何编写另一个名为cookieForuser的子实现上述想法?

1 个答案:

答案 0 :(得分:0)

请帮你一个忙,至少使用CGI module,它会让你的生活更轻松,更安全

use CGI qw/:standard/;
use CGI::Cookie;

%cookies = CGI::Cookie->fetch;
if ( exists $cookies{VISITED} ) {
    checkoutform();
}
else {
    my $cookie = CGI::Cookie->new(-name=>'VISITED',-value=>1,
        -expires='Fri, 31-Sep-2015 24:00:00 GMT');
    print header(-cookie=>[$cookie]);
    displayloginform();
}