PHP 파라미터 전송 방법 설정 register_globals

최근에 워드프레스를 공부하게 되면서 PHP언어를 살펴보고 있는데요. 자바의 서블렛 - 콘트롤러 - 뷰 방식의 자료처리 방법과는 달리 페이지당 처리를 한번에 할 수 있기 때문에 번역속도가 빨라서 소규모 웹사이트에서 사용하면 관리도 쉽고 빠른 속도 때문에 부담없이 사용을 할 수가 있습니다.


PHP언어를 세팅하는데 제일 기본적인영역으로 쿠키와 세션, 그리고 파라미터 변수의 값을 어떻게 전달하고 받을지 설정을 하는 부분이 있는데요. PHP 파라미터 전송 방법 설정에 대해서 설명을 드리도록 하겠습니다.


POST 방식과 GET 방식 차이 알아보기

 


http 웹에서 값을 전달하는 방식은 post방식과 get 방식이 있습니다.


<form>

<inpuut type="text" name="test" value="넘어갈값">

<inpuut type="submit" name="test" value="전송">

</form>


이런식으로 form 박스를 이용해서 값을 전달하는 방식을 포스트라고 하며, 겟방식은 호출되는 페이지에 [?] 특수기호를 써서 값을 넘겨주며 연속된 값은 [&] 기호로 붙여줍니다.


test.php?넘어갈변수명1=값1&넘어갈변수명2=값2&넘어갈변수명3=값3


이런식으로 값을 넘겨주는 방식을 GET 방식이라고 합니다.


이런식으로 값이 어떤 방식으로 넘어가느냐에 따라서 PHP는 값을 전달받는 함수의 사용을 달리하고 있습니다. 우선 값이 어떤방식으로 넘어가는지 확인해주세요.



 

 



php.ini 에있는 register_globals 옵션 살펴보기

php버전에 따라서 register_globals 옵션을 사용을 할 수도 안할 수도 있는데요 이옵션은 전송되는 파라미터의 변수값을 자동으로 등록을 해주는 역활을 하고 있습니다.


register_globals = "Off" 로 되어 있을 경우 자동으로 변수를 받아오지 못하게 됩니다. 그럼 어떤 현상이 발생되는지 살펴보도록하겠습니다.


POST 방식에서 submit 으로 폼태그값이 id인 이름으로 값을 넘겨준다고하면 해당되는 페이지에서 값을 받아주는 선언을 해주어야 사용할 수 있습니다.


POST 방식일 경우

$id   = $_POST['id'];


GET 방식일 경우

$id   = $_GET['id'];


세션에서 가져올 경우

$id   = $_SESSION['id'];


쿠키에서 가져올경우

$id   = $_COOKIE['id'];


액션페이지에서 이렇게 받아오는 변수를 선언해주어야 값을 받아서 사용할 수 있습니다. 비슷한 문제가 세션이나 쿠기도 마찬가지로 적용이 되는데요. 위의 예문처럼 선언을 해주셔야 값을 가져올 수 있습니다.


오늘은 간단하게 PHP 파라미터전송 방법 설정에 대해서 알아보았습니다.