ID: 14255
Updated by: hholzgra
Reported By: [EMAIL PROTECTED]
Old Status: Open
Status: Analyzed
Old Bug Type: HTTP related
Bug Type: Documentation problem
Operating System: Debian 2.2.19
PHP Version: 4.0.6
Old Assigned To: 
Assigned To: hholzgra
New Comment:

ok, stupid me regarding the claim that a zero value
(or a string as parameter, evaluating to zero)
actualy deletes a cookie

it indeed defines the cookie to be a session cookie
which is valid until the browser is closed instead
of until a certain date/time is reached

for the time parameter itself:
the time() function returns the server time
while the browser deciedes when to delete
a cookie by the client time

if client and server are not in sync or live in
different time zones you will get exactly the 
problems you experienced

you either have to use expiration times in the range of days isntead of hours (as 
timezone differences can sum up to slightly more than 24 hours in the worst case) or 
you have to use javascript Date.getTime() to fetch the client time and transfer it to 
the server as a base for expiration dates instead of using the time() function on the 
server

(will add a note to the setcookie documentation and work through the notes later, bug 
type switched to documentation problem for now)


Previous Comments:
------------------------------------------------------------------------

[2001-11-27 14:28:16] [EMAIL PROTECTED]

IIRC, no time (time=0) means that the cookie will not expire until the session (read: 
your browser) has been closed.

Your scripts work fine for me at both Windows 2000 and Debian Linux (Potato).

------------------------------------------------------------------------

[2001-11-27 13:59:12] [EMAIL PROTECTED]

array(4) { ["xfxdD"]=> string(4) "Blah" ["wingrep"]=> array(4) { ["customer_cookie"]=> 
string(10) "1150232722" ["customer_id"]=> string(1) "1" ["customer_name"]=> string(13) 
"Mr. Wilkinson" ["customer_province"]=> string(2) "BC" } ["titancart"]=> array(1) { 
[0]=> string(72) "33a63c7718-component-1715-108.95-1-Adaptec Fireconnect 4300 3 
Port-2.00*" } ["wingrepship"]=> array(7) { ["ship_to"]=> string(18) "Mr. Kris 
Wilkinson" ["unit_type"]=> string(5) "SUITE" ["unit_num"]=> string(3) "101" 
["street"]=> string(18) "10464 176th Street" ["city"]=> string(8) "Edmonton" 
["province"]=> string(2) "BC" ["postal"]=> string(7) "T5R 3L6" } } 

is what it returns. nothing containing the CustomerCookie
defined previously.

these other values are from original cookies which had the 
"" around the time aspect.

so i'm assuming this means that the value was not stored in a cookie at all?


------------------------------------------------------------------------

[2001-11-27 13:59:04] [EMAIL PROTECTED]

array(4) { ["xfxdD"]=> string(4) "Blah" ["wingrep"]=> array(4) { ["customer_cookie"]=> 
string(10) "1150232722" ["customer_id"]=> string(1) "1" ["customer_name"]=> string(13) 
"Mr. Wilkinson" ["customer_province"]=> string(2) "BC" } ["titancart"]=> array(1) { 
[0]=> string(72) "33a63c7718-component-1715-108.95-1-Adaptec Fireconnect 4300 3 
Port-2.00*" } ["wingrepship"]=> array(7) { ["ship_to"]=> string(18) "Mr. Kris 
Wilkinson" ["unit_type"]=> string(5) "SUITE" ["unit_num"]=> string(3) "101" 
["street"]=> string(18) "10464 176th Street" ["city"]=> string(8) "Edmonton" 
["province"]=> string(2) "BC" ["postal"]=> string(7) "T5R 3L6" } } 

is what it returns. nothing containing the CustomerCookie
defined previously.

these other values are from original cookies which had the 
"" around the time aspect.

so i'm assuming this means that the value was not stored in a cookie at all?


------------------------------------------------------------------------

[2001-11-27 13:48:49] [EMAIL PROTECTED]

Not to sound offensive, have you actually tried it?

I've pasted exactly what you just sent back to me, and it wont go.

There have been many comments in the newsgroups and the function page itself about 
this issue ...

people are having to put quotations around the time aspect in order to get it to work 
at all, and according to you, that would set the value to zero right?

-> cookie.php 

<?php

       setcookie ('CookieName', 'CookieValue', time()+7200);
       header ("Location: cookie2.php");
        
?>   

-> cookie2.php

<?php

        $cookie = $HTTP_COOKIE_VARS[CookieName];
        echo $cookie;
        
?>

that's exactly the test script i'm using. 

Is there anything wrong with the above? 



------------------------------------------------------------------------

[2001-11-27 13:43:03] [EMAIL PROTECTED]

setcookie ('CookieName', 'CookieValue', time()+7200);
works. If not you're doing something wrong.
This is NOT a bug in PHP. Ask further support-questions on the appropriate mailinglist 
([EMAIL PROTECTED]).



------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/?id=14255


Edit this bug report at http://bugs.php.net/?id=14255&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to