본문 바로가기
왕초보10분 JQUERY

상담신청 입력폼

by 세미짱 2017. 6. 20.
728x90


상담신청 입력폼 만들기





작성자가 입력하는 form 파일이 존재해야 합니다.
이건 일반적인 HTML 파일인데요...
내용은 대체로 다음과 같은 형식을 따릅니다.
이 파일의 이름은 아무거나 사용해도 됩니다.
여기선 test.html 이라고 가정합니다.

--------------------------------------------------------------------------------
<html>

<head>
<title>내용을 입력 받습니다.</title>
</head>

<body>

<form method="post" action="./sendme.php">
성명을 입력하세요 : <input type="text" name="iname" value="" size=10 maxlength=10><br>
전화번호 입력하세요 : <input type="text" name="itel1" value="" size=4 maxlength=4>-<input type="text" name="itel2" value="" size=4 maxlength=4>-<input type="text" name="itel3" value="" size=4 maxlength=4><br>
<input type="submit">
< / form >

</body>

</html>
--------------------------------------------------------------------------------

잠시 설명을 하자면...
<form method="post" action="./sendme.php">
라인에서 method는 입력된 값을 PHP 파일로 넘기기 위한 방법을 설정합니다.
여기에 사용할 수 있는 값은 post 내지는 get 인데... 일반적으로 post를 사용하시기 바랍니다.
get은 넘길 수 있는 값의 길이에 제한이 있는데다가 넘기는 값이 노출되어서 주민등록번호나 카드번호등 민감한 정보엔 사용하지 않습니다.
action="./sendme.php" 는 같은 디렉토리 내의 sendme.php 라는 파일로 전송하라는 얘깁니다.
이 <form> tag는 < / form > tag로 마무리를 해 주어야 합니다.

<form> tag와 < / form > tag 사이에는 <input> tag가 있습니다.
이 <input> tag가 실제로 값을 입력받는 역할을 합니다.
<input type="text" name="iname" value="" size=10 maxlength=10>

1) type="text"
type은 형식을 말합니다.
text는 일반적으로 글자를 입력받을 수 있게 하구요.
다른 값이 올 수도 있습니다.(hidden, password, image 등등)

2) name="iname"
이건 변수명을 말합니다.
다른 입력값들의 name 과 중복되면 안됩니다.
나중 PHP파일에서 $_POST["iname"] 이라는 변수명으로 접근할 수 있습니다.

3) value=""
초기값을 말합니다.
여기에 value="이름을입력" 이라고 해 놓으시면 입력란에 "이름을입력"이라는 글자가 보이게 됩니다.

4) size=10
입력창의 길이를 말합니다.
영문 10자까지가 바로 보일정도의 길이 입니다.

5) maxlength=10
최대 입력길이를 말합니다.
역시 영문 10자까지 입력 받을 수 있는 길이입니다.
이 값이 더 크면 입력창의 범위를 넘어서도 입력 가능합니다.

<input type="submit">
이건 버튼을 만듭니다.
일반 버튼이 아니라 입력된 값을 <fomr> tag 중 action="./sendme.php" 에 지정된 파일로 전송하는 버튼입니다.
여기서는 값은 디렉토리 내의 sendme.php 라는 파일로 전송됩니다.

여기까지 간단한 입력폼을 설명 했구요.
이제 이걸 처리해서 메일로 보내는 PHP 파일을 설명 드리겠습니다.
이 파일의 이름은 sendme.php 가 됩니다.

우선 메일을 받을 주소가 admin@test.com 이라고 가정하고 설명 하겠습니다.
위의 html 파일에서 정상적으로 값을 입력했다면 이 php 파일에서 확인할 수 있는 변수는 다음과 같이 총 4개가 됩니다.

$_POST["iname"], $_POST["itel1"], $_POST["itel2"], $_POST["itel3"]

이 값들을 눈으로 확인하시려면 아래 source 에서 <? 하단에

print_r($_POST);

라고 입력 하시면 됩니다.
이제 넘어온 값을 메일로 전송합니다.

--------------------------------------------------------------------------------
<?
$_mailbody = "성명 : ".$_POST["iname"]."\n전화번호 : ".$_POST["itel1"]." - ".$_POST["itel2"]." - ".$_POST["itel3"]."\n";
mail("admin@test.com", "메일제목", $_mailbody);
?>
--------------------------------------------------------------------------------

설명을 드리면...
<? 는 여기서부터 PHP라는 선언정도가 되겠습니다.
시작이 있으면 끝이 있는법...
?> 는 PHP의 끝을 나타냅니다.

우선은 성명과 전화번호를 다음과 같은 형식의 문자열로 만들어 $_mailbody 라는 변수에 넣습니다.
첫번째 라인이 그와 같은 작업입니다.

성명 : 입력값
전화번호 : 입력값-입력값-입력값

위에서 입력값에는 실제로 입력한 값들이 들어갑니다.
PHP에서는 문자열을 서로 붙이기 위해서 . 을 사용합니다. 즉 "김"."철수" 는 나중에 확인하면 "김철수"가 됩니다.
그 . 연산자를 사용해서 각 값들을 서로 붙였습니다.
중간 중간에 \n 이라는 문자열이 있는데 이건 여기서 줄을 바꾸란 얘깁니다.

이렇게 만들어진 값을 이제 메일로 보냅니다.
매일로 보낼땐 mail() 함수를 사용합니다.
복잡하게 하려면 한없이 복잡하게 쓸 수 있는 함수인 반면 간단하게 하려면 정말 간단해 질 수 있습니다.
첫번짼 메일을 받을 주소가 위치합니다.
"admin@test.com" 이 그 부분입니다.
그리곤 메일 제목이 위치합니다.
"메일제목" 이 그 부분입니다.
그리고 마지막으로 메일의 본문이 위치합니다.
메일의 본문은 위에서 작성한 $_mailbody 변수를 그대로 씁니다.

이 mail() 함수는 서버에 메일서버가 작동중이어야 사용할 수 있습니다.

이상이 없다면 이렇게 하면 원하는 주소로 메일을 받을 수 있습니다.
그런데... 실제로 쓸만하려면 입력된 값들을 확인하기 위해서 JavaScript도 써야 하구...
입력폼을 조금 더 예쁘게 꾸미려면 HTML Tag들과 CSS 등이 필요합니다.

댓글