[PHP] $_REQUEST, $_POST, $_GET 차이점

필그램

·

2017. 2. 8. 09:54

HTML에서 데이터를 넘겨 처리를 하려다보니,

3가지 방식이 다르게 쓰이는 듯하다.  

그중 $_REQUEST는   $_POST, $_GET 두가지를 합친것과 마찬가지이니 이것만 써도 괜찮은 것일까 하는 의문이 든다.  


HTML에서 get으로 보낸것은 $_GET으로 받고

    > 주소에 값을 넣은게 보이므로, 보안에 취약하나 결과페이지를 즐겨찾기에 저장하기에 좋다. 그래서 상품, 도서등의 결과페이지에 많이 사용된다.


HTML에서 post로 보낸것은 $_POST으로 받아 처리한다.

    > 주소에 내용이 안보이므로 보안에 좋다


그리고 이 두가지는 $_REQUEST['네임']으로 받아 배열(array)로 저장할 수 있다다.  또한 cookie도 저장 가능하다. 


[HTML]

<form action="func_proc.php" method="post">
Name: <br>
<input type="text" name="txtUsr"> <br>
Age: <br>
<input type="text" name="txtAge">
<input type="submit" value="Submit">
</form>


[php]

<?php

function getMaxHeartBeat($pAge) {
return 221 - $pAge;
}
$age = $_REQUEST['txtAge'];
$fName = $_REQUEST['txtUsr'];

$max = getMaxHeartBeat($age);

print "Dear $fName, your max heart beat $max <br>";

print "<!DOCTYPE html>";


?>

[결과]  Name : 'John',    Age : 22 입력하면


Dear John, your max heart beat 199