216.73.216.34 TODAY : 207

PHP ์˜จ๋ผ์ธ ๊ฐ•์˜

 > 

PHP - ์ดˆ๊ธ‰

๐Ÿ“š PHP ์ดˆ๊ธ‰ - 7์ฃผ์ฐจ: HTML ํผ ์ฒ˜๋ฆฌ ๋ฐ GET/POST ๋ฐฉ์‹ - 03 $_GET,$_POST, $_REQUEST ์Šˆํผ ๊ธ€๋กœ๋ฒŒ ๋ณ€์ˆ˜

๐Ÿ“š 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 ํผ์„ ํ†ตํ•ด ์ „์†ก๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.

uploadImage




$_GET ์Šˆํผ ๊ธ€๋กœ๋ฒŒ ๋ณ€์ˆ˜




$_GET์€ #GET ๋ฐฉ์‹์œผ๋กœ ์ „์†ก๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ด€ ๋ฐฐ์—ด(associative array) ํ˜•ํƒœ๋กœ ์ €์žฅํ•˜๋Š” ์Šˆํผ ๊ธ€๋กœ๋ฒŒ ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. #URL์˜ ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด(? ๋’ค์— ์˜ค๋Š” key=value ์Œ) ํ˜•ํƒœ๋กœ ์ „๋‹ฌ๋œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

uploadImage



์‚ฌ์šฉ ์˜ˆ์‹œ




๋‹ค์Œ๊ณผ ๊ฐ™์€ #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)์„ ํ†ตํ•ด ์ „๋‹ฌ๋œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

uploadImage



์‚ฌ์šฉ ์˜ˆ์‹œ




๋‹ค์Œ๊ณผ ๊ฐ™์€ #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 ํ•˜๋‚˜๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

uploadImage



์‚ฌ์šฉ ์‹œ ์ฃผ์˜์‚ฌํ•ญ




$_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)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.