From:             [EMAIL PROTECTED]
Operating system: Win2k
PHP version:      4.0.6
PHP Bug Type:     Variables related
Bug description:  Undeclared variables and isset()


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: [EMAIL PROTECTED]

Thank you!

Volker Puttrich

-- 
Edit bug report at: http://bugs.php.net/?id=14296&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