At 08:32 AM 6/27/2002 -0700, Brian France wrote:
>Hello,
>
>   I have a url that ends with ?.value=1, but PHP returns this in 
> $_REQUEST as _value instead of .value.  I believe this is because of this code:
>
>main/php_variables.c
>104         /* ensure that we don't have spaces or dots in the variable 
>name (not binary safe) */
>105         for (p=var; *p; p++) {
>106                 switch(*p) {
>107                         case ' ':
>108                         case '.':
>109                                 *p='_';
>110                                 break;
>111                 }
>112         }
>
>
>I can do this: $_REQUEST['.name'] = "testing" then if I do 
>print_r($_REQUEST) prints it out as .value and not _value.  Any reason for 
>being able to do one, but not the other?  Also what is the "(not binary 
>safe)" part of a variable with a . in its name?

I guess this is a left over from register globals as you can't access 
variables with . such as $image.x won't work (yeah you could always use 
indirect references but I'm just saying what was probably the reasoning 
behind this).
Don't expect it to change because it'll kill a huge amount of PHP scripts.

Andi


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to