Thanks pal, you are great. I will try out. Cheers, Andrew -- Sawsan Sarandah <[EMAIL PROTECTED]> wrote: > Hi Andrew, > I've been working on a similar question recently. > Try to set the cookie and > then redirect back into the same script. When > setting the cookie, also place > a temporary value in the CGI environment. When the > script is activated the > second time around, the presence of the temporary > CGI value indicates our > attempt to set a cookie. If there is no cookie and > the temporary value > exists, it basically means that the remote browser > is not accepting our > cookie. BTW, I gained a lot of insight regarding > this issue by reading a > Randal Schwartz tutorial at the following URL: > > > http://www.stonehenge.com/merlyn/WebTechniques/col61.html > > and I know that the author frequently hovers around > this newsgroup so I just > want to say thank you Randal for your excellent > articles. > > Ibrahim Dawud > > > > > Here is a sample of my code which is based on that > tutorial: > > my $visitor_cookie = > $cgi->cookie(-name=>'site-visitor'); > my $visitor_param = $cgi->param ("site-visitor"); > > if (!defined $visitor_cookie){ > if (!defined $visitor_param){ > # Try to start a new session by setting a > "site-visitor" > # cookie. If that fails, place the session > in the CGI environment. > $visitor_cookie = $cgi->cookie > -name=>"site-visitor",-value=>"value"); > if (!defined $cgi->param("cookietemp")) { > # Try to create a "site-visitor" cookie > for the first time. > # Exit the script using redirect and > come back to check if it is > there. > # Set a temporary value in the CGI > environment. > $cgi->param("cookietemp",1); > print $cgi->redirect(-cookie=> > $visitor_cookie, -uri=> > $cgi->self_url()); > } > else { > # We know if we are here that we failed > to create a > "site-visitor" > # cookie the first time we ran this > script. Place the session > data > # in the CGI environment instead. > $cgi->param("site-visitor","value"); > print $cgi->redirect(-uri=> > $cgi->self_url()); > } > } > else { > # Basically, the previous session was passed > via CGI. It is > # reasonable to continue using CGI to pass > along session data. This > # means making sure that all links and > hidden fields have a > # unique identifier embedded in them to pass > on. > if (!defined $cgi->param("cookietemp")) { > # subsequent times using CGI > } > else { > # first time using CGI > $cgi->delete("cookietemp"); > print $cgi->redirect(-uri=> > $cgi->self_url()); > } > } > else { > # previous session was passed via a cookie. > Question: Is it necessary > # to also check CGI parameters at this point? > Probably not since > # we have assumed cookies as the primary method > for passing session > # data. > if (!defined $cgi->param("cookietemp")) { > # subsequent times using cookies > } > else { > # first time using cookies > $cgi->delete("cookietemp"); > print $cgi->redirect(-uri=> > $cgi->self_url()); > } > } > > > > > > > > > > > > > > > > > ----- Original Message ----- > From: "Andrew" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Thursday, September 27, 2001 4:27 AM > Subject: Cookie and redirecting. > > > > Dear Folks, > > > > I am currently working on cookies for tesing > out. > > Although a lot of people had disabled the function > on > > their browsers, I would just like to try it. > > > > I got few knotty problems : > > > > 1) I could set the cookie's parameters and > > retrieve it. But how I can make use of the > returned > > parameters to realise the concept of cookie. > > > > 2) Upon detecting that the cookie is not valid > > using if statement, I would like to use the > command in > > the CGI script to immediate load another URL page. > I > > had tried the redirect command for cookie but > could > > not help. > > > > E.g. if ($cookieID eq '12345') { > > > > #load new web page. > > > > } > > > > Thanks, > > Andrew > > > > > > > ____________________________________________________________ > > Do You Yahoo!? > > Get your free @yahoo.co.uk address at > http://mail.yahoo.co.uk > > or your free @yahoo.ie address at > http://mail.yahoo.ie > > > > -- > > To unsubscribe, e-mail: > [EMAIL PROTECTED] > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > -- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] >
____________________________________________________________ Do You Yahoo!? Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk or your free @yahoo.ie address at http://mail.yahoo.ie -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]