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]