LEVEL 34 QUEST
폼 처리와 데이터 검증
폼 처리와 데이터 검증 — DevFoil 바이브코딩 Stage 8, Lv.34
HTML 폼과 PHP - 데이터의 여정
폼이 왜 중요한가?
웹에서 사용자가 데이터를 서버에 보내는 가장 기본적인 방법이 HTML 폼(form)입니다.
회원가입, 로그인, 검색, 글 작성, 결제 - 모든 것이 폼에서 시작됩니다.
폼의
폼의
action 속성은 데이터를 보낼 PHP 파일을, method 속성은 전송 방식(GET/POST)을 지정합니다.
<!-- register.html -->
<form action="process.php" method="POST">
<label>이름:</label>
<input type="text" name="username" required>
<label>이메일:</label>
<input type="email" name="email" required>
<label>비밀번호:</label>
<input type="password" name="password" required>
<label>성별:</label>
<select name="gender">
<option value="male">남성</option>
<option value="female">여성</option>
</select>
<label>관심사:</label>
<input type="checkbox" name="interests[]" value="coding"> 코딩
<input type="checkbox" name="interests[]" value="design"> 디자인
<input type="checkbox" name="interests[]" value="ai"> AI
<button type="submit">가입하기</button>
</form>
$_GET과 $_POST - 데이터 받기
두 가지 전송 방식의 차이
PHP는 슈퍼글로벌 변수를 통해 폼 데이터를 받습니다.
$_GET은 URL 쿼리스트링으로, $_POST는 요청 본문으로 전달됩니다.
| 구분 | $_GET | $_POST |
|---|---|---|
| 데이터 위치 | URL에 노출 (?key=value) | 요청 본문에 숨김 |
| 데이터 크기 | 제한 있음 (~2KB) | 대용량 가능 |
| 북마크 가능 | 가능 | 불가능 |
| 사용 예 | 검색, 페이지 이동, 필터 | 로그인, 회원가입, 글 작성 |
| 보안 | 브라우저 기록에 남음 | 상대적으로 안전 |
<?php
// process.php - POST 데이터 받기
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$username = $_POST["username"] ?? "";
$email = $_POST["email"] ?? "";
$password = $_POST["password"] ?? "";
$gender = $_POST["gender"] ?? "";
$interests = $_POST["interests"] ?? [];
echo "환영합니다, {$username}님!\n";
echo "관심사: " . implode(", ", $interests);
}
// GET 데이터 예시 - search.php?q=바이브코딩&page=2
$query = $_GET["q"] ?? "";
$page = (int)($_GET["page"] ?? 1);
// $_REQUEST - GET과 POST 모두 포함 (보안상 비추천)
// $_SERVER - 서버/요청 정보
echo $_SERVER["REQUEST_METHOD"]; // GET 또는 POST
echo $_SERVER["REMOTE_ADDR"]; // 접속자 IP
?>
🔒
여기까지는 미리보기입니다
폼 처리와 데이터 검증
무료 가입하면 이어서 볼 수 있고, 강의를 완료할 때마다 XP와 레벨이 쌓입니다.
Google로 3초 만에 시작 →🧵 Threads로 시작무료 공개 강의 둘러보기 (Lv.1~3)무료 가입하면 이어서 볼 수 있고, 강의를 완료할 때마다 XP와 레벨이 쌓입니다.