Hi Jeffery,

To use a class method as a valid callback, you should pass an array like

$_POST = array_map(array($this, 'StripSlashesDeep'), $_POST);

Hope this helps,
-Guillermo 

On Mon, 7 Feb 2005 17:10:32 -0600, Greg Donald <[EMAIL PROTECTED]> wrote:
> On Tue, 08 Feb 2005 09:37:11 +1100, Jeffery Fernandez
> <[EMAIL PROTECTED]> wrote:
> > I have the following 2 functions which I intend to clean GPC off slashes
> > if magic_quotes_gpc is turned on.
> >
> >   function StripGpcSlashes()
> >   {
> >     if (get_magic_quotes_gpc())
> >     {
> >       $_POST = array_map('StripSlashesDeep', $_POST);
> >       $_GET = array_map('StripSlashesDeep', $_GET);
> >       $_COOKIE = array_map('StripSlashesDeep', $_COOKIE);
> >     }
> >   }
> >
> >   function StripSlashesDeep($value)
> >   {
> >     $value = is_array($value)
> >       ?  array_map('StripSlashesDeep', $value)
> >       :  stripslashes($value);
> >
> >     return $value;
> >   }
> >
> > However when I call $this->StripGpcSlashes(); from within a class, I get
> > the following error:
> > */ array_map(): The first argument, 'StripSlashesDeep', should be either
> > NULL or a valid callback /*
> >
> > Anyone have suggestions as to what I am doing wrong ?
> 
> Mine works fine, but I don't use it in any classes:
> 
> set_magic_quotes_runtime(0);
> if(get_magic_quotes_gpc() == 0){
>    $_GET = isset($_GET) ? array_map("slashes", $_GET) : array();
>    $_POST  = isset($_POST) ? array_map("slashes", $_POST) : array();
>    $_COOKIE = isset($_COOKIE) ? array_map("slashes", $_COOKIE) : array();
> }
> 
> function slashes($var){
>         if(is_array($var))
>                 return array_map("slashes", $var);
>         else
>                 return addslashes($var);
> }
> 
> --
> Greg Donald
> Zend Certified Engineer
> http://destiney.com/
> 
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
>

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

Reply via email to