
PHP ์จ๋ผ์ธ ๊ฐ์
>PHP - ์ด๊ธ
๐ PHP ์ด๊ธ - 7์ฃผ์ฐจ: HTML ํผ ์ฒ๋ฆฌ ๋ฐ GET/POST ๋ฐฉ์ - 03 $_GET,$_POST, $_REQUEST ์ํผ ๊ธ๋ก๋ฒ ๋ณ์
![]() |
ํ์ | 10.0 | ๋ผ์ด์ผ์ค | free |
---|---|---|---|---|
์ฌ์ฉ์ํ์ | 10.0 | ์ด์์ฒด์ | ||
๋ค์ด๋ก๋ | 1 | ํ์ผํฌ๊ธฐ | 0 | |
์ ์์ฌ | LUZENSOFT | ๋ฑ๋ก์ผ | 2025-07-01 16:26:52 | |
์กฐํ์ | 34 |
๐ PHP ์ด๊ธ - 7์ฃผ์ฐจ: HTML ํผ ์ฒ๋ฆฌ ๋ฐ GET/POST ๋ฐฉ์ - 03 $_GET, $_POST, $_REQUEST ์ํผ ๊ธ๋ก๋ฒ ๋ณ์
์ง๋ ํฌ์คํ
์์๋ #GET ๋ฐฉ์๊ณผ #POST ๋ฐฉ์์ ์ฐจ์ด์ ์ ์ดํดํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ ์กํ๋์ง ์์๋ณด์์ต๋๋ค. ์ด๋ฒ ์๊ฐ์๋ #PHP์์ ์ ์ก๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํต์ฌ์ ์ธ #์ํผ #๊ธ๋ก๋ฒ #๋ณ์์ธ $_GET
, $_POST
, ๊ทธ๋ฆฌ๊ณ **$_REQUEST
**์ ๋ํด ์์ธํ ํ์ตํ๊ฒ ์ต๋๋ค.
์ํผ ๊ธ๋ก๋ฒ ๋ณ์๋?
#์ํผ #๊ธ๋ก๋ฒ ๋ณ์๋ PHP์ ํน๋ณํ ๋ด์ฅ ๋ณ์๋ก, ์คํฌ๋ฆฝํธ์ ์ด๋ ๊ณณ์์๋ ์ ๊ทผํ ์ ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ์ ์กํ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ์ฌ ์๋ฒ ํ๊ฒฝ, ์ฟ ํค, ์ธ์
์ ๋ณด ๋ฑ ๋ค์ํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ต๋๋ค. $_GET
, $_POST
, $_REQUEST
๋ ๋ชจ๋ ์ด๋ฌํ ์ํผ ๊ธ๋ก๋ฒ ๋ณ์์ ํด๋นํ๋ฉฐ, ์ฃผ๋ก #HTML ํผ์ ํตํด ์ ์ก๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ํ์ฉ๋ฉ๋๋ค.
$_GET ์ํผ ๊ธ๋ก๋ฒ ๋ณ์
$_GET
์ #GET ๋ฐฉ์์ผ๋ก ์ ์ก๋ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ด ๋ฐฐ์ด(associative array) ํํ๋ก ์ ์ฅํ๋ ์ํผ ๊ธ๋ก๋ฒ ๋ณ์์
๋๋ค. #URL์ ์ฟผ๋ฆฌ ๋ฌธ์์ด(? ๋ค์ ์ค๋ key=value
์) ํํ๋ก ์ ๋ฌ๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ ๋ ์ฌ์ฉํฉ๋๋ค.
์ฌ์ฉ ์์
๋ค์๊ณผ ๊ฐ์ #HTML ํผ์ด GET ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค.
HTML
<form action="process_get.php" method="GET">
<label for="name">์ด๋ฆ:</label><br>
<input type="text" id="name" name="name"><br><br>
<label for="email">์ด๋ฉ์ผ:</label><br>
<input type="email" id="email" name="email"><br><br>
<input type="submit" value="์ ์ก">
</form>
process_get.php
ํ์ผ์์ $_GET
๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
PHP
<?php
if (isset($_GET['name']) && isset($_GET['email'])) {
$name = $_GET['name'];
$email = $_GET['email'];
echo "GET ๋ฐฉ์์ผ๋ก ๋ฐ์ ์ด๋ฆ: " . htmlspecialchars($name) . "<br>";
echo "GET ๋ฐฉ์์ผ๋ก ๋ฐ์ ์ด๋ฉ์ผ: " . htmlspecialchars($email) . "<br>";
} else {
echo "GET ๋ฐฉ์์ผ๋ก ์ ์ก๋ ๋ฐ์ดํฐ๊ฐ ์์ต๋๋ค.";
}
?>
์ ์ฝ๋์์ $_GET['name']
๊ณผ $_GET['email']
์ ํตํด ํผ์์ ์
๋ ฅ๋ ์ด๋ฆ๊ณผ ์ด๋ฉ์ผ ๊ฐ์ ๊ฐ๊ฐ ์ ๊ทผํ ์ ์์ต๋๋ค. isset()
ํจ์๋ ํด๋น ํค๊ฐ $_GET
๋ฐฐ์ด์ ์กด์ฌํ๋์ง ํ์ธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. htmlspecialchars()
ํจ์๋ #HTML ํน์ ๋ฌธ์๋ฅผ ์์ ํ๊ฒ ์ฒ๋ฆฌํ์ฌ #XSS ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
$_POST ์ํผ ๊ธ๋ก๋ฒ ๋ณ์
$_POST
๋ #POST ๋ฐฉ์์ผ๋ก ์ ์ก๋ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ด ๋ฐฐ์ด ํํ๋ก ์ ์ฅํ๋ ์ํผ ๊ธ๋ก๋ฒ ๋ณ์์
๋๋ค. #HTTP ์์ฒญ ๋ณธ๋ฌธ(body)์ ํตํด ์ ๋ฌ๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ ๋ ์ฌ์ฉํฉ๋๋ค.
์ฌ์ฉ ์์
๋ค์๊ณผ ๊ฐ์ #HTML ํผ์ด POST ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค.
HTML
<form action="process_post.php" method="POST">
<label for="message">๋ฉ์์ง:</label><br>
<textarea id="message" name="message"></textarea><br><br>
<input type="submit" value="์ ์ก">
</form>
process_post.php
ํ์ผ์์ $_POST
๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
PHP
<?php
if (isset($_POST['message'])) {
$message = $_POST['message'];
echo "POST ๋ฐฉ์์ผ๋ก ๋ฐ์ ๋ฉ์์ง: " . htmlspecialchars($message) . "<br>";
} else {
echo "POST ๋ฐฉ์์ผ๋ก ์ ์ก๋ ๋ฐ์ดํฐ๊ฐ ์์ต๋๋ค.";
}
?>
์ ์ฝ๋์์ $_POST['message']
๋ฅผ ํตํด ํผ์์ ์
๋ ฅ๋ ๋ฉ์์ง ๊ฐ์ ์ ๊ทผํ ์ ์์ต๋๋ค.
$_REQUEST ์ํผ ๊ธ๋ก๋ฒ ๋ณ์
$_REQUEST
๋ #GET, #POST, ๊ทธ๋ฆฌ๊ณ #COOKIE ๋ฐฉ์์ผ๋ก ์ ์ก๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ํฌํจํ๋ ์ฐ๊ด ๋ฐฐ์ด ํํ์ ์ํผ ๊ธ๋ก๋ฒ ๋ณ์์
๋๋ค. ์ฆ, $_GET
, $_POST
, $_COOKIE
์ ๋ด๊ธด ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ $_REQUEST
ํ๋๋ก ์ ๊ทผํ ์ ์์ต๋๋ค.
์ฌ์ฉ ์ ์ฃผ์์ฌํญ
$_REQUEST
๋ ์ด๋ค ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ก๋์๋์ง ๋ช
ํํ๊ฒ ์ ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ ์ฃผ์ํด์ผ ํฉ๋๋ค. ๋ณด์์ ์ธ ์ธก๋ฉด์์ ์ทจ์ฝํด์ง ์ ์์ผ๋ฉฐ, ์์์น ๋ชปํ ๋ฐ์ดํฐ ์ถฉ๋์ด ๋ฐ์ํ ์๋ ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ฐ๋ฅํ ํ ๋ฐ์ดํฐ๊ฐ ์ ์ก๋ ๋ฐฉ์์ ๋ช
ํํ ๊ตฌ๋ถํ์ฌ $_GET
๋๋ $_POST
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ถ์ฅ๋ฉ๋๋ค.
์ฌ์ฉ ์์
์ด๋ค ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ก๋์๋์ง ์๊ด์์ด 'data'๋ผ๋ ํค์ ๊ฐ์ ๋ฐ๊ณ ์ถ์ ๊ฒฝ์ฐ $_REQUEST
๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
PHP
<?php
if (isset($_REQUEST['data'])) {
$data = $_REQUEST['data'];
echo "์ ์ก๋ ๋ฐ์ดํฐ: " . htmlspecialchars($data) . "<br>";
} else {
echo "์ ์ก๋ 'data'๊ฐ ์์ต๋๋ค.";
}
?>
๊ฒฐ๋ก
$_GET
, $_POST
, $_REQUEST
์ํผ ๊ธ๋ก๋ฒ ๋ณ์๋ #PHP์์ #HTML ํผ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ์์ด ํต์ฌ์ ์ธ ์ญํ ์ ํฉ๋๋ค. ๋ฐ์ดํฐ ์ ์ก ๋ฐฉ์์ ๋ฐ๋ผ ์ ์ ํ ๋ณ์๋ฅผ ์ ํํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์ํ๋ฉฐ, ๋ณด์์ ๊ณ ๋ คํ์ฌ ๊ฐ๋ฅํ ํ $_GET
๋๋ $_POST
๋ฅผ ๋ช
์์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ๋ค์ ์๊ฐ์๋ ํผ ์ ํจ์ฑ ๊ฒ์ฌ(Form Validation)์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.