Hi All,

I originally posted this on 2004-02-09, to alt.comp.lang.php, alt.php, and
comp.lang.php, with the followup-to header set to comp.lang.php.  Nobody had
any thoughts, so I thought I would post here, just in case.

I want to turn off magic quotes.  I realize in retrospect that using a
.htaccess file to turn magic quotes would probably be better than this code,
and I am going to switch to that solution, but I am still trying
to figure out what is causing my current problem:

I am using the following code to automatically strip out any slashes that
were added automagically by gpc_magic_quotes:

        $_POST = array_stripslashes($_POST);

        // Takes the passed array, and strips and escaping slashes out of
any strings in the array.
        // This is a recursive function capable of handling multidimensional
arrays
        function array_stripslashes($data)
        {
                do{
                        $pair = each($data);    // Get the next key-value
pair from the array
                        if($pair === false)
                                break;
                        $key = $pair[0];                // This is just for
readability
                        $val = $pair[1];
                        if(is_array($val))
                                $val = Utility::array_stripslashes($val);
                        elseif(is_string($val))
                                $val = stripslashes($val);
                        $data[$key] = $val;
                }while(true);
                return $data;
        }

Now, I test it several times and it appears to be working fine.  But, I just
got an error report from a user, with agent "Mozilla/4.0 (compatible; MSIE
5.0; CS 2000 6.0; Windows 98; DigExt)", and when they clicked on a submit
button, all the POST data was lost.  Interestingly enough,
$GLOBALS['HTTP_RAW_POST_DATA'] was populated with all the form fields I
would have expected to be in $_POST (although raw, of course, not parsed
into variables).

Is my code broken?  Or is this a bug in PHP?  Or what?

Sincerely,
  -Josh





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

Reply via email to