PHP 사용자 입력 데이터 전송방식 get, post

PHP 기본 문법에서 사용자 입력 데이터 전송방식에 대해 알아본다.

사용자 입력 데이터 방식

  • action="requests.php" : 사용자가 입력한 정보를 requests.php에서 확인한다. (회원가입 시 아이디를 중복체크한다거나, 로그인시 아이디와 비밀번호가 맞는지 체크하는 등)
  • name : DB에서 입력한 값이 들어갈 필드명

get

1
2
3
4
5
6
7
8
9
10
11
12
13
<form action="requests.php" method="get">
<div>
<label for="userName">Name</label>
<input type="text" name="username" id="userName">
</div>
<div>
<label for="userEmail">Name</label>
<input type="email" name="useremail" id="userEmail">
</div>
<div>
<input type="submit" value="로그인">
</div>
</form>

post

1
2
3
4
5
6
7
8
9
10
11
12
13
<form action="requests.php" method="post">
<div>
<label for="userName">Name</label>
<input type="text" name="username" id="userName">
</div>
<div>
<label for="userEmail">Name</label>
<input type="email" name="useremail" id="userEmail">
</div>
<div>
<input type="submit" value="로그인">
</div>
</form>

request

get

  • get 방식으로 넘어온 $_GET은 최상위 수퍼글로벌 배열을 활용할 수 있다.
  • get 방식은 url에 사용자가 입력한 필드와 값이 그대로 노출된다. (노출되는 길이의 제한이 있다.)
  • 서버에 HTTP 요청을 보내어 캐시에 저장이 되는 방식이다.
1
2
3
4
5
6
<?php
$name = $_GET["username"];
$email = $_GET["useremail"];

echo $name.'님께서 입력한 이메일은 '.$email.'입니다.';
?>

결과

1
mjae님의 입력한 이메일은 mjae404@gmail.com입니다.

post

  • post 방식으로 넘어온 $_POST은 데이터를 별도로 첨부하여 전달하는 방식이다.
  • post 방식은 url에 사용자가 입력한 필드와 값이 그대로 노출되지 않는다.
  • 캐시에 저장이 되지 않고 히스토리에도 남지 않는다.
  • request.php 쿼리 방식으로 보냈다는 의미이며 사용자가 입력한 것은 별도로 암호화하여 전송한다.
  • 내부적으로 암호화되었기 때문에 데이터 길이에 제한도 없으며 보안성도 뛰어나다.
1
2
3
4
5
6
<?php
$name = $_POST["username"];
$email = $_POST["useremail"];

echo $name.'님께서 입력한 이메일은 '.$email.'입니다.';
?>

결과

1
mjae님의 입력한 이메일은 mjae404@gmail.com입니다.

REFERENCE
https://www.youtube.com/watch?v=rCDuvv4ZZE8&list=PL-qMANrofLytZY15Agdi7wFc1seGO7Onb&index=7

  • © 2020-2025 404 Not Found
  • Powered by Hexo Theme Ayer