Re: php.ini setting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>
> <?php
> if (get_magic_quotes_gpc()) {
>     $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
>     while (list($key, $val) = each($process)) {
>         foreach ($val as $k => $v) {
>>>>             unset($process[$key][$k]);
>             if (is_array($v)) {
>                 $process[$key][stripslashes($k)] = $v;
>                 $process[] = &$process[$key][stripslashes($k)];
>             } else {
>                 $process[$key][stripslashes($k)] = stripslashes($v);
>             }
>         }
>     }
>     unset($process);
> }
> ?>
>
> I know it is not the answer you are looking for, but it does work, and 
> used by thousands of coders.
>
> Stephen
>
Thanks for the code sample - a little more complex than I've ever used.  Can 
you explain something for me?

The first "unset" line - what is it doing?  If it is removing the item from 
the $process array, then how can you then reference the value ($v) in the 
very next line?  I must be missing something.

Also - I don't see the need to be stripping slashes from the $k 
(keys/indices?) elements.  What am I missing there?

As I said - the lines are a something new to me and I may not be 
interpreting what is going on here.  Basically I see that you are processing 
all of the arrays (GET,POST, etc) at once, doing each one in turn.  For each 
one, you then get down to the values returned to the script as a $k/$v pair 
which you then check to see if it is in itself an array.(although you ask if 
$v is an array, while I would have thought you'd ask if $k was an array). 
Once you get to the basest element you remove the slashes.

Thanks again - still waiting on my host company to get back to me - they've 
escalated the problem of not being able to turn the quotes off.  Hmmm.... 



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux