>> Delete Reply from No. 51302 article
No. RE: register_globals=off 시에 정균님의 함수를 적용하면
않됩니다..왜 그런지요

등록 2002-06-22 21:55:00 By localhost     조회 1
이름 김정균    

		흠 4.2 에서 trackvars 가 좀 변경이 되었군요.
 http://www.oops.org/SERVICE/jsboard/read.php?table=jsboard_oopsFAQ&no=113  에 수정해서 올려 놓았으니 참고 
하세요.  : 김정균님 홈페이지에 있는 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