#28850 [Bgs]: Passing 0 as expire in setcookie is not the same as passing nothing

2004-06-21 Thread fromphpnet at blaksaga dot com
 ID:   28850
 User updated by:  fromphpnet at blaksaga dot com
 Reported By:  fromphpnet at blaksaga dot com
 Status:   Bogus
 Bug Type: Session related
 Operating System: Linux
 PHP Version:  4.3.7
 New Comment:

I'm sorry, but in my eyes this is a bug.  If nothing else, it is a
documentation bug.

-
 All the arguments except the name argument are optional. You may also
replace an argument with an empty string ("") in order to skip that
argument. Because the expire and secure arguments are integers, they
cannot be skipped with an empty string, use a zero (0) instead.
-

Unless I am reading it wrong, the documentation is incorrect.

But thank you for your time.  I will post a comment on the doc page
about this.  If you could include/change it in the docs it would be
appreciated.  Thanks,
blaksaga


Previous Comments:


[2004-06-22 00:44:59] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

If you want the value to default to whatever PHP defaults 
to pass NULL. 



[2004-06-20 03:36:08] fromphpnet at blaksaga dot com

Description:

The overall jist of the problem is this.  I want to be able to set a
cookie and specify the domain and path WITHOUT setting an expiration
(making the cookie get killed when the browser is closed).

This is what the documentation for setcookie states:

 All the arguments except the name argument are optional. You may also
replace an argument with an empty string ("") in order to skip that
argument. Because the expire and secure arguments are integers, they
cannot be skipped with an empty string, use a zero (0) instead.

Unfortunately, using a 0 for expire has different results than when
passing nothing.  The cookie is not killed at session end when using 0
like it should be.

These statements should produce exactly the same results but do not:

setcookie ( "blaksaga_cookies" , "enabled", 0 );
setcookie ( "blaksaga_cookies2" , "enabled" );

This is either a bug in the setcookie function or in your
documentation.  None-the-less, there needs to be some way to skip the
expire argument while passing domain and path arguments.






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


#28850 [NEW]: Passing 0 as expire in setcookie is not the same as passing nothing

2004-06-19 Thread fromphpnet at blaksaga dot com
From: fromphpnet at blaksaga dot com
Operating system: Linux
PHP version:  4.3.7
PHP Bug Type: Session related
Bug description:  Passing 0 as expire in setcookie is not the same as passing nothing

Description:

The overall jist of the problem is this.  I want to be able to set a
cookie and specify the domain and path WITHOUT setting an expiration
(making the cookie get killed when the browser is closed).

This is what the documentation for setcookie states:

 All the arguments except the name argument are optional. You may also
replace an argument with an empty string ("") in order to skip that
argument. Because the expire and secure arguments are integers, they
cannot be skipped with an empty string, use a zero (0) instead.

Unfortunately, using a 0 for expire has different results than when
passing nothing.  The cookie is not killed at session end when using 0
like it should be.

These statements should produce exactly the same results but do not:

setcookie ( "blaksaga_cookies" , "enabled", 0 );
setcookie ( "blaksaga_cookies2" , "enabled" );

This is either a bug in the setcookie function or in your documentation. 
None-the-less, there needs to be some way to skip the expire argument
while passing domain and path arguments.


-- 
Edit bug report at http://bugs.php.net/?id=28850&edit=1
-- 
Try a CVS snapshot (php4):  http://bugs.php.net/fix.php?id=28850&r=trysnapshot4
Try a CVS snapshot (php5):  http://bugs.php.net/fix.php?id=28850&r=trysnapshot5
Fixed in CVS:   http://bugs.php.net/fix.php?id=28850&r=fixedcvs
Fixed in release:   http://bugs.php.net/fix.php?id=28850&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=28850&r=needtrace
Need Reproduce Script:  http://bugs.php.net/fix.php?id=28850&r=needscript
Try newer version:  http://bugs.php.net/fix.php?id=28850&r=oldversion
Not developer issue:http://bugs.php.net/fix.php?id=28850&r=support
Expected behavior:  http://bugs.php.net/fix.php?id=28850&r=notwrong
Not enough info:http://bugs.php.net/fix.php?id=28850&r=notenoughinfo
Submitted twice:http://bugs.php.net/fix.php?id=28850&r=submittedtwice
register_globals:   http://bugs.php.net/fix.php?id=28850&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=28850&r=php3
Daylight Savings:   http://bugs.php.net/fix.php?id=28850&r=dst
IIS Stability:  http://bugs.php.net/fix.php?id=28850&r=isapi
Install GNU Sed:http://bugs.php.net/fix.php?id=28850&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=28850&r=float