problem with super global '$_REQUEST'

From: Date: Thu, 15 Jul 2004 22:00:15 +0000
Subject: problem with super global '$_REQUEST'
Groups: php.general 
Request: Send a blank email to php-general+get-190641@lists.php.net to get a copy of this message
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>"; ?>

« previous php.general (#190641) next »