Perl 如何检查用户是否第一次进入我的页面?
我编写了以下子例程来为第一次访问我的网站的新用户设置cookiePerl 如何检查用户是否第一次进入我的页面?,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"; } } 每
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();
}