in reply to CGI Cookie creation problem

Couple of things that stand out after toying with your code for less than five minutes:

  1. Missing semicolon at the end of the first line
  2. Does the cookie method accept arguments named expires or domain, or should they read -expires and -domain?
  3. Try adding this line just after the first: my $mc_form_member_name = "";. See what happens now.
  4. Now change that line to say my $mc_form_member_name = undef; and see what happens now.

Replies are listed 'Best First'.
Re^2: CGI Cookie creation problem
by Nicko2004 (Initiate) on Jun 19, 2012 at 14:33 UTC

    Hi, Sorry I did miss a few things. I updated my code as what is listed below but still no cookie is created. Thanks for your reply!

    use CGI (); #Create Cookie $mc_cookie_domain_name = ".sample.com"; $mc_path_script = "/"; $mc_cookie_expiration_time = "+2h"; $mc_cookie_name = "Sample_Cookie"; #$mc_cookie_value = $mc_form_member_name; $mc_cookie_value = "Logged In"; my $cgi = CGI->new(); my $cookie = $cgi->cookie(-name => $mc_cookie_name, -value => $mc_cook +ie_value, -expires => $mc_cookie_expiration_time, -domain => $mc_cook +ie_domain_name); print $cgi->redirect(-url => 'https://www.sample.com/cgi-bin/confirm_a +ccount_2.pl', -cookie => $cookie); #End of Create Cookie

      Are you sure? When I run this script from the command line it gives me pretty much what you'd expect:

      G:\>type x.pl use CGI (); #Create Cookie $mc_cookie_domain_name = ".sample.com"; $mc_path_script = "/"; $mc_cookie_expiration_time = "+2h"; $mc_cookie_name = "Sample_Cookie"; #$mc_cookie_value = $mc_form_member_name; $mc_cookie_value = "Logged In"; my $cgi = CGI->new(); my $cookie = $cgi->cookie(-name => $mc_cookie_name, -value => $mc_cook +ie_value, -expires => $mc_cookie_expiration_time, -domain => $mc_cookie_domain_n +ame); print $cgi->redirect(-url => 'https://www.sample.com/cgi-bin/confirm_a +ccount_2.p l', -cookie => $cookie); #End of Create Cookie G:\>perl x.pl Status: 302 Found Set-Cookie: Sample_Cookie=Logged%20In; domain=.sample.com; path=/; exp +ires=Tue, 19-Jun-2012 16:45:45 GMT Date: Tue, 19 Jun 2012 14:45:45 GMT Location: https://www.sample.com/cgi-bin/confirm_account_2.pl G:\>

        Hello Muba, Thank you for your reply. Yes, I am absolutely positive no cookie was created when I ran the script using internet explorer from the website. www.sample.com is not the website by the way I am scratching my head trying to work out why as I have used this script without problems in the past, albeit without the earlier mistakes I missed out on. Any thoughts as to why? IT appears to work but no cookie is created. Thanks in advance.