테스트 사이트 - 개발 중인 베타 버전입니다

$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개

$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

이런글도 있더군요..
$PHP_SELF 가 안될때

게시글 목록

번호 제목
13686
13683
21003
13680
25150
25143
20981
13679
13678
13677
13675
13674
29483
13672
13671
13670
13669
29482
13668
13666
29481
29480
13665
13664
13663
13662
13661
25124
25116
20970
13660
JavaScript adsc
13658
29479
13655
13650
13648
13647
13646
29478
13645
PHP 3.0
13643
13642
13640
13637
13636
13635
13634
29476
13633
13632
13630
29473
13624
13620
13582
13556
29472
29471
13555
13554
13553
13552
13551
13550
13546
13545
13544
29470
13541
13540
13538
13535
29466
13533
29463
13532
13531
13529
29462
13528
29459
29458
13527
13526
13525
13523
13522
13512
13510
13507
13498
29452
13492
13487
29450
13480
13474
13460
13457
29447