보안상의 이유로 php.ini 파일의 register_globals 옵션을 off로 설정해 놓은 웹서버들이 많이 있으며, 이런 경우는 form 을 통해서 변수를 전달 할 때 아래와 같이 제약을 받게 된다.
ex>
입력 폼
=============================================
<form method="post" action="result.php">
<input type="text" name="subject" size="20" maxlength="10">
<input type="submit" value="확인">
</form>
=============================================
register_globals = on 일때
form으로부터 전달 받은 변수를 $_POST[subject], $subject 등과 같이 사용 할 수 있다.
result.php
===================================
<?
echo("$subject"); <--- 사용가능
echo("$_POST[subject]"); <--- 사용가능
?>
===================================
register_globals = off 일때
form으로부터 전달 받은 변수를 $subject 와 같은 형식으로는 사용할 수 없으며, $_POST[subject]의 형식으로 사용이 가능하다.
result.php
===================================
<?
echo("$subject"); <--- 사용 불가능
echo("$_POST[subject]"); <--- 사용 가능
?>
===================================
단, 아래와 같이 result.php상단에 아래와 같은 형식으로 extract 선언을 하거나, header 파일에 선언하여 include 한 후에는 $subject 와 같은 형식으로 변수 사용이 가능하다.
result.php
===================================
<?
@extract($_GET);
@extract($_POST);
@extract($_SERVER);
Mysql 에 utf-8로 저장시 한글 깨짐 해결 (0) | 2009.04.08 |
---|---|
[펌:기록용] 리눅스 머신에 아파치 , 플렉스 설치 (0) | 2009.04.08 |
Debugging XAMPP PHP Eclipse : 디버깅 하기 (0) | 2009.04.06 |