PHP 11강. Form 처리(GET / POST)
1. Form이란?
Form은 사용자가 입력한 데이터를 서버(PHP)로 전달하는 기능입니다.
예를 들어
로그인
회원가입
예약하기
문의하기
게시글 작성
모두 Form을 사용합니다.
2. Form 구조
사용자 입력
↓
HTML Form
↓
PHP
↓
MySQL
React에서는 Axios를 사용하지만,
순수 PHP에서는 Form을 사용합니다.
3. 기본 Form
<form action="result.php" method="post">
이름
<input
type="text"
name="name">
<button>
전송
</button>
</form>
설명
action → 데이터를 보낼 PHP 파일
method → GET 또는 POST
4. GET 방식
<form
action="result.php"
method="get">
주소
result.php?name=홍길동
특징
✔ 주소에 데이터 표시
✔ 검색 기능
✔ 즐겨찾기 가능
5. POST 방식
<form
action="result.php"
method="post">
특징
✔ 주소에 데이터가 보이지 않음
✔ 로그인
✔ 회원가입
✔ 예약
실무에서 가장 많이 사용합니다.
6. PHP에서 GET 받기
<?php
echo $_GET["name"];
?>
7. PHP에서 POST 받기
<?php
echo $_POST["name"];
?>
8. 동부산CC 예약 예제
HTML
<form
action="reservation.php"
method="post">
<input
type="text"
name="member">
<input
type="date"
name="playDate">
<button>
예약
</button>
</form>
9. reservation.php
<?php
$name =
$_POST["member"];
$date =
$_POST["playDate"];
echo $name;
echo "<br>";
echo $date;
?>
10. 여러 개 입력
<input
name="course">
<input
name="player">
<input
name="phone">
PHP
$course = $_POST["course"];
$player = $_POST["player"];
$phone = $_POST["phone"];
11. isset()
데이터 존재 여부 확인
<?php
if(
isset(
$_POST["name"]
)
){
echo "입력됨";
}
12. empty()
빈 값 확인
<?php
if(
empty(
$_POST["name"]
)
){
echo "이름을 입력하세요.";
}
13. trim()
앞뒤 공백 제거
$name =
trim(
$_POST["name"]
);
14. htmlspecialchars()
HTML 태그를 문자로 변환하여 XSS 공격을 방지합니다.
$name = htmlspecialchars($_POST["name"]);
예)
입력
<script>alert("test")</script>
출력
<script>alert("test")</script>
15. 실무 입력 처리
$name =
trim(
htmlspecialchars(
$_POST["name"]
)
);
입력값을 정리하고 안전하게 처리합니다.
16. 동부산CC 예약 처리
예약 화면
↓
POST
↓
reservation.php
↓
입력 검사
↓
MySQL 저장
↓
예약 완료
17. React와 비교
React
axios.post(
"/api/reservation",
form
);
PHP
$_POST["course"];
React는 Axios로 데이터를 보내고,
PHP는 $_POST로 데이터를 받습니다.
18. 실무 예제
<?php
$name =
trim(
$_POST["name"]
);
$course =
trim(
$_POST["course"]
);
echo
"예약자 : "
.$name;
echo "<br>";
echo
"코스 : "
.$course;
?>
19. 실습 과제
예약 Form을 만들어 보세요.
입력 항목
이름
연락처
코스
날짜
인원
PHP에서
입력 내용을 출력해 보세요.
20. 정리
Form은 사용자가 입력한 데이터를 서버(PHP)로 전달하는 기능입니다.
GET은 주로 검색과 같은 기능에 사용하고,
POST는 로그인, 회원가입, 예약, 게시판 작성처럼 중요한 데이터를 전송할 때 사용합니다.
PHP에서는 $_GET, $_POST를 이용하여 데이터를 받고, isset(), empty(), trim(), htmlspecialchars() 등을 사용해 입력값을 검증하고 안전하게 처리합니다.
동부산CC 프로젝트에서는 예약, 로그인, 문의하기, 회원가입 등 대부분의 기능이 Form을 기반으로 동작합니다.
1. Form이란?
Form은 사용자가 입력한 데이터를 서버(PHP)로 전달하는 기능입니다.
예를 들어
로그인
회원가입
예약하기
문의하기
게시글 작성
모두 Form을 사용합니다.
2. Form 구조
사용자 입력
↓
HTML Form
↓
PHP
↓
MySQL
React에서는 Axios를 사용하지만,
순수 PHP에서는 Form을 사용합니다.
3. 기본 Form
<form action="result.php" method="post">
이름
<input
type="text"
name="name">
<button>
전송
</button>
</form>
설명
action → 데이터를 보낼 PHP 파일
method → GET 또는 POST
4. GET 방식
<form
action="result.php"
method="get">
주소
result.php?name=홍길동
특징
✔ 주소에 데이터 표시
✔ 검색 기능
✔ 즐겨찾기 가능
5. POST 방식
<form
action="result.php"
method="post">
특징
✔ 주소에 데이터가 보이지 않음
✔ 로그인
✔ 회원가입
✔ 예약
실무에서 가장 많이 사용합니다.
6. PHP에서 GET 받기
<?php
echo $_GET["name"];
?>
7. PHP에서 POST 받기
<?php
echo $_POST["name"];
?>
8. 동부산CC 예약 예제
HTML
<form
action="reservation.php"
method="post">
<input
type="text"
name="member">
<input
type="date"
name="playDate">
<button>
예약
</button>
</form>
9. reservation.php
<?php
$name =
$_POST["member"];
$date =
$_POST["playDate"];
echo $name;
echo "<br>";
echo $date;
?>
10. 여러 개 입력
<input
name="course">
<input
name="player">
<input
name="phone">
PHP
$course = $_POST["course"];
$player = $_POST["player"];
$phone = $_POST["phone"];
11. isset()
데이터 존재 여부 확인
<?php
if(
isset(
$_POST["name"]
)
){
echo "입력됨";
}
12. empty()
빈 값 확인
<?php
if(
empty(
$_POST["name"]
)
){
echo "이름을 입력하세요.";
}
13. trim()
앞뒤 공백 제거
$name =
trim(
$_POST["name"]
);
14. htmlspecialchars()
HTML 태그를 문자로 변환하여 XSS 공격을 방지합니다.
$name = htmlspecialchars($_POST["name"]);
예)
입력
<script>alert("test")</script>
출력
<script>alert("test")</script>
15. 실무 입력 처리
$name =
trim(
htmlspecialchars(
$_POST["name"]
)
);
입력값을 정리하고 안전하게 처리합니다.
16. 동부산CC 예약 처리
예약 화면
↓
POST
↓
reservation.php
↓
입력 검사
↓
MySQL 저장
↓
예약 완료
17. React와 비교
React
axios.post(
"/api/reservation",
form
);
PHP
$_POST["course"];
React는 Axios로 데이터를 보내고,
PHP는 $_POST로 데이터를 받습니다.
18. 실무 예제
<?php
$name =
trim(
$_POST["name"]
);
$course =
trim(
$_POST["course"]
);
echo
"예약자 : "
.$name;
echo "<br>";
echo
"코스 : "
.$course;
?>
19. 실습 과제
예약 Form을 만들어 보세요.
입력 항목
이름
연락처
코스
날짜
인원
PHP에서
입력 내용을 출력해 보세요.
20. 정리
Form은 사용자가 입력한 데이터를 서버(PHP)로 전달하는 기능입니다.
GET은 주로 검색과 같은 기능에 사용하고,
POST는 로그인, 회원가입, 예약, 게시판 작성처럼 중요한 데이터를 전송할 때 사용합니다.
PHP에서는 $_GET, $_POST를 이용하여 데이터를 받고, isset(), empty(), trim(), htmlspecialchars() 등을 사용해 입력값을 검증하고 안전하게 처리합니다.
동부산CC 프로젝트에서는 예약, 로그인, 문의하기, 회원가입 등 대부분의 기능이 Form을 기반으로 동작합니다.
#PHP 11강. Form 처리(GET / POST)