>> Edit article
이름
제목
패스워드
김정균님 홈페이지에 있는 register_globals=off on 에 상관없이 쓰는 함수가 있어서 적용해 볼려구 아래처럼 test.php 를 만들어 봤는데요 a 값이 표시가 않됩니다. 왜 그런지요? 변수a 값을 나타내기 위해서 다르게 표현해야 되는지요 저 함수를 불러온후 그냥 $a 하면 나오게 해주는 함수가 아닌가요? 좀 알려주세요..휴.. ###### test.php ################ <? function parse_query_str($level=0) { # php.ini 의 register_globals 값을 확인한다. # register_globals = OFF 일 경우만 작동. if(ini_get("register_globals")) return; # php 버젼이 4.1 보다 낮을 경우에는 함수 안에서 trackvar # 를 사용하기 위해 global 로 지정해 줘야 한다. if(substr(PHP_VERSION,0,3) < 4.1) { global $HTTP_GET_VAR, $HTTP_POST_VARS; if($level) global $HTTP_COOKIE_VARS,$HTTP_SESSION_VARS,$HTTP_SERVER_VARS; } # 4.1 부터는 trackvars 에 대해 무조건 배열로 생성을 하기 # 때문에 is_array() 함수 보다는 count() 함수로 배열의 수를 # 체크한다. if(count($HTTP_GET_VARS)) { foreach($HTTP_GET_VARS as $key => $value) { global ${$key}; ${$key} = $value; } } if(count($HTTP_POST_VARS)) { foreach($HTTP_POST_VARS as $key => $value) { global ${$key}; ${$key} = $value; } } if( $level && count($HTTP_COOKIE_VARS) ) { foreach($HTTP_COOKIE_VARS as $key => $value) { global ${$key}; ${$key} = $value; } } if( $level && count($HTTP_SESSION_VARS) ) { foreach($HTTP_SESSION_VARS as $key => $value) { global ${$key}; ${$key} = $value; } } if( $level && count($HTTP_SERVER_VARS) ) { foreach($HTTP_SERVER_VARS as $key => $value) { global ${$key}; ${$key} = $value; } } } # POST, GET 만 제어한다. parse_query_str(); echo "$a"; # POST, GET , COOKIE, SESSION, SERVER_var 를 모두 제어한다. parse_query_str(1); echo "$PHP_SELF"; ?> <FORM name=put method=post action=''> <INPUT type=text name=a> <INPUT type=submit value='버튼'> </FORM>
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved