I have a function in a class that unsets the superglobal $_REQUEST;

Well, it's supposed to, it doesn't do it. I'm on version 4.2.3 of PHP. This page:

        
http://us2.php.net/manual/en/language.variables.predefined.php#language.variables.superglobals

says that $_REQUEST is a super global as of version 4.1.0. Is there some bug I don't 
know about or am I doing something wrong?

Here's the code:

<?PHP
$_REQUEST["var1"]="\"><script>script stuff</script>";
$_REQUEST["var2"]="a_string_of_course";
$_REQUEST["arr1"]["elem1"]="<script>script stuff2</script>";
$_REQUEST["arr1"]["elem2"]="another_string_of_course";

if( !defined('TEST_UNSET') ){
   define('TEST_UNSET', TRUE);

   class abstract_environment{
        var $_REQUEST;
       function abstract_environment(){
                $this->_REQUEST=$_REQUEST;
                unset( $_REQUEST );
                echo("unset was done");
                $this->_clean_all_vars();
        }
        function _clean_all_vars(){
        //ADD OTHER PROCESSING AS NEEDED
                $this->_strip_tags_arr( $this->_REQUEST );
        }
        function _strip_tags_arr( &$arr_or_solo ){
                if( isset($arr_or_solo) ){
                        if( !is_array($arr_or_solo) ){
                                $arr_or_solo= strip_tags($arr_or_solo);
                        } else {
                                reset ($arr_or_solo);
                                while (list($key, ) = each ($arr_or_solo)) {
                                        if( isset($arr_or_solo[$key]) ){
                                                if( is_array($arr_or_solo[$key]) ){
                                                        
$this->_strip_tags_arr($arr_or_solo[$key]);
                                                } else {
                                                        $arr_or_solo[$key] = 
strip_tags($arr_or_solo[$key]);
                                                }
                                        }
                                }
                        }
                }
        }

   }
}
$abs_env=new abstract_environment;
echo "<pre>";
print_r($_REQUEST);
print_r( $abs_env );
echo "</pre>";
?>

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



Reply via email to