http://www.perlmonks.org?node_id=238595


in reply to cookies/redirect problem

I just tested your program on Apache/Win2000. Worked fine for me, so you're on the right track.

Your test could use some detail; instead of redirecting, print a standard header with cookie along with a page with a self-referencing link. That way you aren't throwing it in a loop. Also, if you're using Mozilla, I suggest installing Livehttpheaders. It's great for debugging CGI scripts.

Good luck to you.

Untested.
use strict; use CGI; use CGI::Carp qw(fatalsToBrowser); # New CGI object my $q = CGI->new(); my $test = $q->cookie("test"); if (defined $test) { print $q->header; print $q->start_html('Test stuff'); print "<BR><BR>\n"; print "I got cookie value: $test<BR>\n"; print $q->end_html; } else { my $cookie = $q->cookie(-name => 'test', -value => 'test value'); print $q->header(-cookie => $cookie); print $q->start_html("Test page"); print $q->p(q[<a href="] . $q->self_url . q[">check cookie</a>]); print $q->end_html; }

John J Reiser
newrisedesigns.com

Replies are listed 'Best First'.
Re: Re: (nrd) cookies/redirect problem
by ibanix (Hermit) on Feb 25, 2003 at 23:48 UTC
    Thanks John.

    I tried your code and it worked as expected. I got the page with the self-refrencing link; on click it shows that it found the cookie. I guess my server (IIS5.0 on Win2K) is to blame.

    dws' mentioned a thread above, and in it he stated:
    " banged my head into a wall on this one with IIS4.0 a year ago, and finally fell back on using a 0 second refresh.

    <meta http-equiv=refresh content="0;url=http://www.example.com/overhe +re.html">
    "
    Does this work for other people? Or is there a better solution?

    Thanks!

    $ echo '$0 & $0 &' > foo; chmod a+x foo; foo;