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

Perl 如何检查用户是否第一次进入我的页面?,perl,cookies,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

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";
 }
}
每当用户点击purchase从my shop购买任何商品时,脚本将检查用户是否已经拥有cookie。如果没有,则显示登录表单。这是我一直坚持的一步

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

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

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


查看这篇文章,它可能会给你一些好的建议:谢谢你的投入。但我不懂PHP@@应该注意到这一点。@Jose Rey:它工作得非常好。谢谢。还有一件事,有没有办法隐藏这个信息集Cookie:visted=1;路径=/;expires=2014年11月25日星期二02:57:57 GMT日期:2014年11月24日星期一02:57:57 GMT内容类型:text/html;字符集=ISO-8859-1?它显示在我的登录表单的正上方。。。
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();
}