본문 바로가기
Code/개발지식

메소드(method) 방식 처리 예제 - POST 방식

by 코드포휴먼 2019. 11. 18.

폼 양식에 사용자가 입력한 데이터를 메소드(method) 방식으로 처리하는 방법을 살펴보겠다. 메소드 방식에는 POST와 GET 방식이 있다.

 

 

1. POST 방식

1.1. 폼 양식의 데이터 처리

<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form name="form1" method="post" action="view.php">
    <input type="text" name="name1">
    <br><br>
    <input type="submit" value="확인">
</form>
</body>
</html>

form.html 파일

 

form.html 실행 결과

실행 결과에 나타난 텍스트 입력 창, "확인" 버튼 같은 요소를 폼이라고 한다. 웹 페이지에서 폼을 나타내려면 HTML 태그인 <form></form>을 사용해야 한다. 

 

<form> 태그의 action 속성은 폼에 입력한 데이터를 전달할 파일을 지정할 때 사용한다. 여기서는 action 속성에 "view.php" 파일을 연결 파일로 설정했기 때문에 "확인" 버튼을 클릭하면 폼에 입력된 데이터가 view.php에서 처리된다. html 파일과 같은 폴더에 있어야 제대로 실행된다. method 속성은 post로 설정되어 있는데 이는 폼에 입력한 데이터를 처리하는 방식이 POST라는 의미이다. 

 

실행 결과의 사각형 텍스트 입력창을 만들 때 사용한 <input> 태그 안에서 name 속성을 name1로 설정했는데 이 name 속성의 값은 입력된 데이터를 전달하는 데 중요한 역할을 한다. 

 

 

 

<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php 
    $name = $_POST["name1"];
    echo $name.'님 안녕하세요~~~';
?>
</body>
</html>

view.php 파일

 

$_POST["name1"]은 폼 문에서 POST 방식에 사용되는 전역 변수인 $_POST의 name1이 지시하는 요소의 값을 의미한다. 여기서 name1은 form.html 파일에서 <input> 태그의 name 속성 값으로 사용된 name1을 가리킨다. 

전역 변수(global variable)는 웹 페이지(여기서는 PHP 파일) 내의 어디서든 사용할 수 있는 변수를 말한다. 전역 변수의 반대 개념인 지역 변수(local variable)는 함수 내부에서만 사용할 수 있다. 

 

 

 

form.html 파일에서 이름을 입력하고 확인 버튼을 눌러본다.

 

 

 

 

view.php가 폼 양식에서 입력한 데이터를 화면에 출력한 결과다.  

 

 

 

 

 

1.2. 입력된 아이디와 비밀번호 처리 

 

이제는 폼 양식에 사용자가 입력한 아이디와 비밀번호가 어떻게 처리되는지 알아본다.

<html>
<head>
<meta charset="utf-8">
<link href="style.css" rel="stylesheet">
</head>
<body>
<form name="form1" method="post" action="view2.php">
    <ul>
        <li>아 &nbsp;이 &nbsp;디 : <input type="text" name="id"></li>
        <li>비밀번호 : <input type="password" name="pass"></li>
        <li><input type="submit" value="확인"></li>
    </ul>
</form>
</body>
</html>

id_password.html 파일

 

id_password.html 실행결과

 

<form> 태그의 method 속성을 post로, action 속성을 view2.php로 설정하면 "확인" 버튼을 눌렀을 때 폼 양식에 입력된 데이터가 POST 방식으로 view2.php 파일에 전달된다. 

 

아이디를 입력하는 창은 <input> 태그의 type 속성 값을 text로 설정하고, name 속성을 id로 설정했다. 따라서 사용자가 입력한 값이 $_POST["id"]로 전달된다.

 

비밀번호를 입력하는 창은 <input> 태그의 type 속성 값을 password로 설정하고, name 속성을 pass로 설정했다. 

 

"확인" 버튼을 클릭하면 <form> 태그의 action 속성에 설정한 파일인 view2.php로 페이지가 이동한다. 

 

 

 

<html>
<head>
<meta charset="utf-8">
<link href="style.css" rel="stylesheet">
</head>
<body>
<?php 
    $id = $_POST["id"];
    $pass = $_POST["pass"];
?>
    <ul>
        <li>아 &nbsp;이 &nbsp;디 : <?= $id?></li>
        <li>비밀번호 : <?= $pass?></li>
    </ul>
</body>
</html>

view2.php 파일

 

id_password.html에서 아이디 입력 창의 name 속성에 설정한 id가 $_POST["id"]로 전달되어 변수 $id에 저장된다. 또한 비밀번호 입력 창의 name 속성에 설정한 pass가 $_POST["pass"]로 전달되어 변수 $pass에 저장된다.

 

아이디로 입력된 데이터인 $id를 화면에 출력한다. 비밀번호로 입력된 데이터인 $pass를 화면에 출력한다.

 

 

 

위와 같이 입력하고 "확인"을 클릭하면 action 속성에 설정한 view2.php로 이동한다.

 

 

 

그리고 처리해서 위처럼 화면에 결과를 보여준다.

 

POST 방식으로 웹 서버에 데이터를 보내는 간단한 예제를 살펴보았다.

댓글