[웹 서비스 개발] Form Handling with PhP Get / Post Method PhP Superglobal Usage (1)

김광일·2024년 11월 19일

웹 서비스 개발

목록 보기
38/45
post-thumbnail

일자 : 24-2 13주차 1차시 (3)

[1-1] HTML에서 GET 방식으로 폼 처리

<html>
<body>

<form action="welcome.php" method="GET">
    Name: <input type="text" name="name"><br>
    E-mail: <input type="text" name="email"><br>
    <input type="submit">
</form>

</body>
</html>

[1-2] PHP에서 GET 방식으로 폼 처리

  • GET 방식으로 전송된 데이터를 PHP에서 처리하려면, $_GET 배열을 사용하여 URL에 포함된 데이터를 가져올 수 있다.

1) 예시

<html>
<body>
    Welcome, <?php echo $_GET["name"]; ?>!<br>
    Your email address is : <?php echo $_GET["email"]; ?>입니다.
</body>
</html>

2) 설명:

  • 사용자가 폼을 제출하면 nameemail 필드에 입력된 값들이 GET 방식으로 welcome.php로 전송된다.
  • $_GET["name"]$_GET["email"]을 사용하여 URL 쿼리 스트링에서 데이터를 가져온다.
  • 예를 들어, 사용자가 이름으로 "John"과 이메일로 "john@example.com"을 입력했다면, URL은 다음과 같을 수 있다.
    welcome.php?name=John&email=john@example.com
  • PHP 코드에서 $_GET["name"]은 "John"을, $_GET["email"]은 "john@example.com"을 출력하게 된다.

3) 주의사항:

  • GET 방식은 데이터가 URL에 노출되기 때문에 민감한 정보를 처리할 때는 적합하지 않다. POST 방식이 더 안전하다.

[2-1] HTML에서 POST 방식으로 폼 처리

<html>
<body>

<form action="welcome.php" method="post">
    Name: <input type="text" name="name"><br>
    E-mail: <input type="text" name="email"><br>
    <input type="submit">
</form>

</body>
</html>

[2-2] PHP에서 POST 방식으로 폼 처리

  • POST 방식으로 전송된 데이터를 PHP에서 처리하려면, $_POST 배열을 사용하여 폼 데이터에 접근할 수 있다.

1) 예시

<html>
<body>
    환영합니다, <?php echo $_POST["name"]; ?>!<br>
    이메일 주소는: <?php echo $_POST["email"]; ?>입니다.
</body>
</html>

2) 설명:

  • 사용자가 폼을 제출하면 nameemail 필드에 입력된 값들이 POST 방식으로 welcome.php로 전송된다.
  • $_POST["name"]$_POST["email"]을 사용하여 POST 요청으로 전송된 데이터를 처리한다.
  • 예를 들어, 사용자가 이름으로 "John"과 이메일로 "john@example.com"을 입력했다면, 폼 데이터를 전송하는 URL은 다음과 같다:
    welcome.php
    이때 URL에 데이터가 노출되지 않고, 서버로 안전하게 전송된다.

3) 주의사항:

  • POST 방식은 데이터가 URL에 노출되지 않기 때문에 GET 방식보다 보안상 안전하다. 특히, 민감한 정보나 많은 데이터를 전송할 때 POST 방식이 권장된다.

이후 수업 정리 (미리보기)
: Connection between Php and MySQL


profile
안녕하세요, 사용자들의 문제 해결을 중심으로 하는 프론트엔드 개발자입니다. 티스토리로 전환했어요 : https://pangil-log.tistory.com

0개의 댓글