At 2:40 PM +0100 1/8/02, Zsolt Czinkos wrote:
>
>-------
>Here's my simple script:
>
>package SetMyCookies;
>
>use Apache;
>use Apache::Constants;
>use Apache::Cookie();


Very important to use strict when writing anything in mod_perl.


>sub handler {
>
>my $r = shift;
>
>     $c = $r->header_in("Cookie");

$c is going to persist across multiple connections without my().


>    local(@rawCookies) = split (/; /,$c);
>    local(%cookies);


Use my()... my() is more appropriate in this case.

Always reset %cookies = ();  # just in case

>    foreach(@rawCookies){
>        ($key, $val) = split (/=/,$_);
>        $cookies{$key} = $val;
>    }
>

be sure to my() $key and $val



>    foreach $name (keys %cookies) {
>        print STDERR "$name = $cookies{$name}\n";
>    }

My() $name.


>    my $cookie = Apache::Cookie->new($r,
>        -name   => 'lofos',
>        -value  => 'lofos13',
>        -expires=> '+24M',
>        -path => '/'
>    );
>
>    $r->header_out("Set-Cookie",$cookie->as_string);
>
>    return OK;
>}
>1;
>
>---------------
>And here's the error_log on one request:

More importantly, check your access log.  Something like a nimda in 
association with the above code might produce multiple lines in your 
error log like this.



>kakukk = kukka234534
>kakukk = kukka234534
>kakukk = kukka234534
>kakukk = kukka234534

Good luck,

Rob

--
When I used a Mac, they laughed because I had no command prompt. When 
I used Linux, they laughed because I had no GUI.  

Reply via email to