#21569 [Bgs]: PHP can't set cookies after a test with an unset variable
| From: | sniper@php.net | Date: | Mon, 13 Jan 2003 22:37:49 +0000 |
| Subject: | #21569 [Bgs]: PHP can't set cookies after a test with an unset variable | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-29909@lists.php.net to get a copy of this message | ||
ID: 21569
Updated by: sniper@php.net
Reported By: ElfQrin@ElfQrin.com
Status: Bogus
Bug Type: Unknown/Other Function
Operating System: Windows 2000 only
PHP Version: 4.3.0
New Comment:
There's really no bug here. You're getting a notice about unitialized
variable which causes the rest of the headers not to get send. Try
adding 'error_reporting(0);' in the beginning of your script..
Previous Comments:
------------------------------------------------------------------------
[2003-01-13 10:48:18] ElfQrin@ElfQrin.com
Workaround #2:
At the beginning og your script, "declare" any possibly unset variable
that will be invoked:
if (!isset($test)) {$test="";}
------------------------------------------------------------------------
[2003-01-13 10:07:12] ElfQrin@ElfQrin.com
Workaround (which doesn't mean this bug shouldn't be fixed):
To perform tests:
if (!isset($test) || $test=="") { echo ""; }
To set a variable:
$a=""; if (isset($test)) { $a=$test; }
------------------------------------------------------------------------
[2003-01-13 10:05:53] ElfQrin@ElfQrin.com
I've found out that the problem is not limited to tests. It happens
every time you invoke an unset variable before than setting a cookie.
In the previous example, try
$a = $test;
instead of
if ($test=="") { echo ""; }
and the setcookie won't work as well.
------------------------------------------------------------------------
[2003-01-13 10:03:29] ElfQrin@ElfQrin.com
This is a shortest example:
<?
# $test="";
setcookie("debug","1",0,"","");
if ($test=="") { echo ""; }
setcookie("debug","3",0,"","");
echo "Cookie: [".$_COOKIE["debug"]."] (HIT RELOAD)<BR>";
?>
------------------------------------------------------------------------
[2003-01-10 13:14:02] ElfQrin@ElfQrin.com
I've submitted a specific bug. It depends either from PHP or Windows
2000 itself in some way, because I've tested it deeply in many
configurations of operating systems, Apache and PHP versions.
The sample code provided is a proof of concept, not a code I'm asking
advice about.
------------------------------------------------------------------------
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/21569
--
Edit this bug report at http://bugs.php.net/?id=21569&edit=1