请教关于 cookie 与 重定向 冲突的问题~!
我写了一个登录的CGI
登录的时候写cookie
my $cookie = cookie(-name => $username,-value => $utp ); (记录用户名和身份)
#我发现只要写了这个header,CGI就会报错,如果去掉这句话,重定向就没有问题,但是cookie又不会成功,所以希望高人能指点一二
print header(-cookie => $cookie);
........................
........................
........................
if($utp eq "supervisor ")
{
my($target);
$target= "/1.html ";
print redirect(-uri=> $target);
}
elsif($utp eq "admin ")
{
my($target);
$target= "/2.html ";
print redirect(-uri=> $target);
}
[解决办法]
你打印了两次header当然不对,改成这样试试:
if($utp eq "supervisor ")
{
my($target);
$target= "/1.html ";
print redirect(-uri=> $target, -cookie => $cookie);
}
elsif($utp eq "admin ")
{
my($target);
$target= "/2.html ";
print redirect(-uri=> $target, -cookie => $cookie);
}
前面的header不要再打印了。