$PHP_SELF 가 안될때 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

$PHP_SELF 가 안될때 정보

PHP $PHP_SELF 가 안될때

본문

추천: 0 , 조회: 14
php.ini에서 register_global 설정 때문에 그런겁니다.

php.ini 에서 이 부분을
register_globals = Off
에서
register_globals = On
이렇게 바꿔주시면 됩니다.

<? echo $_SERVER['PHP_SELF'];?>
로 해보시면 출력이 나올껍니다.
그리고 아시다 시피 GET으로 들어온 값은
<? echo $_GET['변수명'];?>
POST로 들어온 값은
<? echo $_POST['변수명'];?>
하면 출력 됩니다..

[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]
추천
2
  • 복사

댓글 2개

$PHP_SELF 가 안된다기 보단

보안적인 이유에서 요즘은 register_globals 을 off 를 시키는 경향입니다.

register_globals 이 on 이 되면 super 함수 라고 할까요 전역함수가 다 활성화가 되어서

PHP 일반적인 순서에 따라서 EGPCS 가 보통 세팅 되어 있습니다.

기존 코딩중에 $_GET  / $_POST / 및  $_REQUEST 등등의 변수들이

간단한 예를 들면

<input type='text' name='indat' value='1234'> 라고 선언되어 있다고 하면

on 일 경우
기존 코딩에서는  $a = $indat; 라고 선언해도 되었지만  (get/post/request 안 가리고 ;;)
결과값 : 1234

off 일 경우
그냥 $a  = $indat;
결과값 :

이렇게 처리가 되게 되었습니다.

common.php --> 114번 줄 부터 보시면 ;;

// PHP 4.1.0 부터 지원됨
// php.ini 의 register_globals=off 일 경우
@extract($_GET);
@extract($_POST);
@extract($_SERVER);

이렇게 해서 사용하는 방법도 있습니다.

register_global 을 on 으로 설정함으로 해결할수도 있지만 추후의 php 6 시대를 바라보신다면

코딩 방법의 변경을 이야기 해 주시는게 더 맞을듯 합니다.

6 버전 부터는 register_global 인가  다른 옵션이었나 ....

뭐가 사라진다고 본듯한데.. 자세히는 기억이 안납니다...

스쿨에 가보니

http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=65848&page=1

이런글도 있더군요..
© SIRSOFT
현재 페이지 제일 처음으로