반응형
안녕하세요 토스트 데브입니다.
오늘은 웹 프로그래밍의 핵심인 HTML 폼 처리와 PHP 데이터 수신 방법,
그리고 GET 방식과 POST 방식의 차이점에 대해 정리해볼게요.
✅ 1. HTML 폼 기본 구조
HTML에서 사용자로부터 데이터를 입력받기 위해 사용하는 요소가 <form>입니다.
<form action="process.php" method="post">
이름: <input type="text" name="name"><br>
이메일: <input type="email" name="email"><br>
<input type="submit" value="제출">
</form>
📌 Form 태그 주요 속성 설명
속성 | 설명 |
action | 데이터를 보낼 PHP 파일 경로 |
method | 데이터 전송 방식: get 또는 post |
name | 각 입력 필드의 이름. 서버에서 이 값을 통해 데이터를 식별 |
✅ 2. GET 방식과 POST 방식의 차이
항목 GET POST
항목 | GET | POST |
전송 위치 | URL에 포함됨 (?name=값) | HTTP 본문에 포함됨 |
보안 | 낮음 (URL에 노출) | 상대적으로 높음 |
데이터 용량 | 제한 있음 (약 2KB) | 제한 없음 |
사용 예 | 검색, 페이지 이동 | 로그인, 회원가입, 글쓰기 등 |
➡️ 예시 : GET 방식으로 전송되는 URL
https://example.com/process.php?name=홍길동&email=test@example.com
✅ 3. PHP에서 폼 데이터 받기
폼에서 전달된 데이터를 PHP에서 받는 방법은 $_GET, $_POST 슈퍼글로벌 변수를 사용하는 것입니다.
📌 GET 방식 데이터 수신
<?php
$name = $_GET["name"];
$email = $_GET["email"];
echo "이름: $name<br>";
echo "이메일: $email";
?>
📌 POST 방식 데이터 수신
<?php
$name = $_POST["name"];
$email = $_POST["email"];
echo "이름: $name<br>";
echo "이메일: $email";
?>
💡 폼의 method 속성에 따라 반드시 $_GET 또는 $_POST를 구분해서 사용해야 합니다!
✅ 보너스 – $_REQUEST는 어떨 때 쓰나요?
$name = $_REQUEST["name"];
- $_REQUEST는 $_GET, $_POST, $_COOKIE의 값을 모두 포함합니다.
- 하지만 보안과 명확성을 위해 실무에서는 잘 사용하지 않습니다.
→ $_POST 또는 $_GET을 명확하게 사용하는 것이 권장됩니다.
✅ 4. 간단한 유효성 검사와 보안 처리
<?php
if (isset($_POST["name"]) && $_POST["name"] !== "") {
$name = htmlspecialchars($_POST["name"]);
echo "안녕하세요, $name 님!";
} else {
echo "이름을 입력해주세요.";
}
?>
- isset() : 값이 설정되어 있는지 확인
- htmlspecialchars() : HTML 특수문자 변환 → XSS 방지
✨ 마무리 요약
✔ HTML <form>은 데이터를 입력받는 출발점
✔ action, method, name 속성은 필수
✔ GET은 URL에 포함되어 전달, POST는 숨겨서 전달
✔ PHP에서는 $_GET, $_POST로 각각 처리
✔ 보안을 위해 htmlspecialchars()와 isset()도 함께 사용!
폼 처리 흐름을 이해하면 로그인, 회원가입, 댓글, 검색 기능 등을 만들 수 있는 기반이 됩니다.
#PHP #PHP기초 #PHP폼처리 #HTML폼 #폼데이터 #GET방식 #POST방식 #웹개발입문 #코딩초보 #프로그래밍기초 #입력값처리 #PHP서버처리 #htmlspecialchars #toastdev
반응형
'Programming > PHP' 카테고리의 다른 글
[PHP] #13 PHP 세션(Session)과 쿠키(Cookie) 완벽 이해하기 (2) | 2025.07.24 |
---|---|
[PHP] #12 PHP 폼 데이터 입력 검증 및 보안, 안전한 웹 개발의 시작 (0) | 2025.07.23 |
[PHP] #10 PHP 함수(Function), 정의, 호출, 매개변수, 변환값, 배열 변환까지 완벽 정리! (0) | 2025.07.21 |
[PHP] #09 PHP의 Switch문, 여러 조건을 깔끔하게 처리하는 방법! (0) | 2025.07.20 |
[PHP] #08 PHP 반복문, 코드를 반복하는 4가지 방법 for, while, do wihile, foreach! (0) | 2025.07.19 |