Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re^2: Setting and Reading Cookies

by rjsaulakh (Beadle)
on Jun 21, 2005 at 05:35 UTC ( #468562=note: print w/replies, xml ) Need Help??

in reply to Re: Setting and Reading Cookies
in thread Setting and Reading Cookies

Hi gryphon
i have read numerous posts about cookie and session management with cookies . But still i have some queries
1. u can read a cookie only when after u fetch a cookie and u can fetch a cookie like this
%cookies = fetch(CGI::Cookie)
2. how do u make sure that cookie has actually been sent .

the basic problem i am facing is that inspite of setting the cookie properly i am not able to fetch the cookie .i want to debug where i am going wrong .can you please guide me

Replies are listed 'Best First'.
Re^3: Setting and Reading Cookies
by gryphon (Abbot) on Jun 21, 2005 at 16:45 UTC

    Greetings rjsaulakh,

    Cookies are bits of text stored on the user's browser, which means that to "set" (write, save, put, etc.) a cookie, you have to send something to the browser. The browser sends cookie data (that you're allowed to view) in the HTTP header during a page request, which means that to "get" (read, fetch, etc.) a cookie, you have to have the browser send you something. In the world of CGI scripts, you have to get something from the browser (the request) before you can send something to the browser (the response). So you can't both set and read a cookie in the same script in the same request/response event. You have to first write the cookie in one response, then and only thereafter can you read the cookie.

    Here's an example:

    #!/usr/bin/perl use strict; use warnings; use CGI; my $cgi = CGI->new; my $cookie = $cgi->cookie( -name => 'sithLord', -value => 'Darth Vadar' ); print $cgi->header( -cookie => $cookie ); my $cookie_data = $cgi->cookie('sithLord') || 'No Cookie Set'; print "<h2>Cookie Data: $cookie_data</h2>\n";

    The first time you hit this CGI, you'll get "Cookie Data: No Cookie Set." However, reload the page and you'll get "Cookie Data: Darth Vadar."

    gryphon Development Manager (DSMS)
    code('Perl') || die;

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://468562]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (3)
As of 2018-06-19 01:43 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (111 votes). Check out past polls.