Bug #14296 Updated: Undeclared variables and isset()
| From: | v dot puttrich at digitalliquid dot de | Date: | Fri, 30 Nov 2001 20:26:37 +0000 |
| Subject: | Bug #14296 Updated: Undeclared variables and isset() | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-72166@lists.php.net to get a copy of this message | ||
ID: 14296
User updated by: v.puttrich@digitalliquid.de
Reported By: v.puttrich@digitalliquid.de
Status: Bogus
Bug Type: Variables related
Operating System: Win2k
PHP Version: 4.0.6
New Comment:
What was the default in "php.ini-dist" for version 4.0.5?
I always leave the error_reporting in the ini file as it is.
The reason for that is, I want the same behaviour of PHP on all servers I use.
I didn't know that i can't rely on the default setting.
my error_reporting is set to E_ALL.
Thanks for the hint
Previous Comments:
------------------------------------------------------------------------
[2001-11-30 12:28:50] sniper@php.net
Not a bug.
------------------------------------------------------------------------
[2001-11-30 04:36:45] hholzgra@php.net
looks like you have set error_reporting to E_ALL
while you had E_ALL & ~E_NOTICE before?
maybe by using php.ini-recommended as template
for php.ini with 4.0.6 while using php.ini-dist
for the former versions?
------------------------------------------------------------------------
[2001-11-30 04:15:44] v.puttrich@digitalliquid.de
SYSTEM:
I use PHP 4.0.6 on Win2k pro with Apache 1.3.22 win
Loaded modules don't seem to make a difference for the described behaviour.
DESCRIPION:
Let's say we have a PHP script, the retrieves some variables via HTTP post or get. And the
variables, passed to the script, have different names each time.
Usually we would use "isset($variable)" to check if it exists. In most cases we need to
check the content of the variable too. So it would be nice to do that in one step.
The script of the following examples retrieved $var1 or $var or both of them via HTTP.
EXAMPLE 1:
// This would be the usual way i guess
if(isset($var1)){
...
}
if(isset($var2)){
...
}
EXAMPLE 2:
// This has been possible with PHP 3.xx - 4.0.5
// without previously checking for existence
// of $var1/$var2
if($var1 == "something"){
...
}
if($var2 == "anything"){
...
}
EXAMPLE 3:
// With PHP 4.0.6 we would have to do this:
if(!isset($var1)){ // is NOT declared?
$var1 = "";
}
if(!isset($var2)){ // is NOT declared?
$var2 = "";
}
// first we had to declare them, now we can use them
if($var1 == "something"){
...
}
if($var2 == "anything"){
...
}
I wonder if this new behaviour is a bug or a feature?
Or why can't I find info about it in the changes list if it's a feature?
Please send your answer to: v.puttrich@digitalliquid.de
Thank you!
Volker Puttrich
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=14296&edit=1