>
> <?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