Thank you for your response. But I am still having the same problem if I don't 
use Javascript.

I added:

$c->delete_session('Logout'); in Root/default
    $c->res->cookies
         ->{id} = {
             value => [],
             expires => time()-86400,
         };
    $c->res->cookies
          ->{session} = {
              value => [],
              expires => time()-86400,
          };
 
and the Firebug Net log would generate:
----------------------------------
Response Headers
Connection  close
Date  Wed, 28 May 2008 02:13:04 GMT
Content-Length  3345
Content-Type  text/html; charset=utf-8
Set-Cookie  catalyst_session=cb50670fae865f6266b0bb2c5b992c88093b8dbe; 
domain=.shindaru.my.office.com; path=/; expires=Wed, 28-May-2008 02:13:04 GMT 
session=; path=/; expires=Tue, 27-May-2008 02:13:04 GMT id=; path=/; 
expires=Tue, 27-May-2008 02:13:04 GMT
Status  200
X-Catalyst  5.7013

Request Headers
Host  shindaru.my.office.com:3000
User-Agent  Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) 
Gecko/20080404 Firefox/2.0.0.14
Accept  
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive  300
Connection  keep-alive
Cookie  __utma=175737056.1376894921.1211863250.1211880303.1211937459.4; 
session=4alqcz3qqey2wkiokonx; id=sindharta; 
__utmz=175737056.1211863250.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); 
__utma=175737056.1376894921.1211863250.1211880303.1211937459.4
Cache-Control max-age=0
----------------------------------

But the strange thing is, if I changed the expires into
             expires => time()+5,
the Firebug log would become:

-----------------------------------
Response Headers
Connection  close
Date  Wed, 28 May 2008 02:18:57 GMT
Content-Length  3345
Content-Type  text/html; charset=utf-8
Set-Cookie  catalyst_session=70ca66db5210730bc63ccb2fdac240543da0f1a0; 
domain=.shindaru.my.office.com; path=/; expires=Wed, 28-May-2008 02:18:57 GMT 
session=; path=/; expires=Wed, 28-May-2008 02:19:02 GMT id=; path=/; 
expires=Wed, 28-May-2008 02:19:02 GMT
Status  200
X-Catalyst  5.7013

Request Headers
Host  shindaru.my.office.com:3000
User-Agent  Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) 
Gecko/20080404 Firefox/2.0.0.14
Accept  
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive  300
Connection  keep-alive
Cookie  __utma=175737056.1376894921.1211863250.1211880303.1211937459.4; 
__utmz=175737056.1211863250.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); 
__utma=175737056.1376894921.1211863250.1211880303.1211937459.4; id=sindharta; 
session=4alqcz3qqey2wkiokonx; session=; id=
Cache-Control max-age=0
-----------------------------------
 
There are two 'session' and 'id' cookies in Request headers. By the way, 
"session" is the session set by the PHP program and the cookie_name for 
catalyst is "catalyst_session". 
FYI, the php program is on port 80, while the catalyst app is on port 3000, but 
that is not a problem, isn't it ?

Sindharta

Gabriel Vieira <[EMAIL PROTECTED]> wrote: You need to understand how Cookies 
are writed.
Thery are HTTP Headers, so you may be giving an outdated value and
next the system gives a update value. Javascript writes the Cookies
after HTTP process, so the system values are irrelevant to it.

Try to use the Catalyst structure to manipulate them instead of trying
to make some code.


On Tue, May 27, 2008 at 11:07 AM, Mitch Jackson 
 wrote:
>>     delete @{ $c->session }{qw/__user/};
>>     delete @{ $c->session }{qw/id/};
>>     delete @{ $c->session }{qw/session/};
>
> Catalyst::Plugin::Session provides a "delete_session" method
> http://search.cpan.org/search?query=catalyst%3A%3Aplugin%3A%3Asession
>
>>     $c->res->cookies
>>         ->{id} = {
>>             value => [],
>>             expires => 0,
>>         };
>> But the cookies just keep appearing, no matter how many times I refresh my
>> browser.  I think there is something wrong, but I just couldn't figure out
>> where.
>
> To ask a browser to forget a cookie, the expiry date must be specified
> in the past.  Try setting expires to time()-86400.
>
> If you continue to have problems, use Firebug
> (http://addons.mozilla.org/firefox/addon/1843)  to view the http
> headers and see the actual cookie headers received by the browser and
> post those here as they are received by the browser.
>
> Kind Regards,
>
> /Mitchell K. Jackson
>
> _______________________________________________
> List: Catalyst@lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>



-- 
Gabriel Vieira

_______________________________________________
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/


 

 
---------------------------------
GANBARE! NIPPON! Win your ticket to Olympic Games 2008.
_______________________________________________
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/

Reply via email to