웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
전에 올렸던 폼메일 만들기입니당~~~ ^^
2000.03.08 01:53
폼메일 몬지 아시죠?
브라우저 상에서 멜 보내는 거죠~
이거를 이해하믄 폼의 자료보내는 형식과 php3문법에 대해서 대강이나마 알게 될것 같아서 요 폼메일작성부터 시작합니다.
우선 파일을 두개로 나누었습니다.
편지발송양식을 보여주는 <font color=red>mail.htm</font>과 mail.htm에서 데이타를 받아서 편지를 발송하는 <font color=red>sendmail.php3</font>로 나누었습니다.
<form>태그가 몬지는 아시죠?
간단하게 말해서 웹문서에서는 이 <form>을 이용해서 데이타를 cgi프로그램에 넘겨주게 됩니다.
이거 아니믄 자료를 넘겨줄 방법이 없죠.
<form>에는 2가지가 있어요.
post와 get이라는 건데, 조만간 폼에 대해서 글을 올리겠습니다.
우선 실전용으로 다음 내용을 이해하시면 대강이나마 이해가 되실겁니다.
우선 mail.htm 파일을 보면서 이야기 하죠.
<font color=red>Mail.htm</font>
<html>
<head>
<title>폼메일 만들기</title>
<body>
<font color=blue>//요까지는 당근 아시겠죠?</font>
<form method="post" action="sendmail.php3">
<font color=blue>//요 위에것이 폼 시작을 말합니다. method에는 무조건 post를 넣는다구 생각하면 쉽습니다. 그리고 action은 데이타를 넘길 파일을 가르키면 되구요</font>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
보내는 사람 이름 <input type="text" name="name" maxlength="10" size="10">
<font color=blue>//input문입니다. 이건 보통 한줄짜리 데이타를 처리할때 쓰죠.
요기서 name을 주의해서 보세요. name에 쓰인 글자가 php3로 넘어갈때 $name 이라는 변수로 넘어가게 됩니다.</font>
</td>
</tr>
<tr>
<td>
보내는 사람 E-Mail <input type="text" name="frommail" maxlength="35" size="15"><br>
</td>
</tr>
<tr>
<td>
받는 사람 E-Mail <input type="text" name="tomail" maxlength="35" size="15"><br>
</td>
</tr>
<tr>
<td>
편지 제목 <input type="text" name="subject" maxlength="35" size="15"><br>
</td>
</tr>
<tr>
<td>
<textarea name="memo" rows="5" cols="30"></textarea>
</td>
</tr>
<tr>
<td>
<center><input type="submit" value="편지보내기"> <input type="reset" value="취 소"></center>
<font color=blue>//위에서 type=submit이면 데이타를 action에 입력한 cgi에 넘기게 되구, cancle이면 폼안에 있는 글을 모두 지우죠</font>
</td>
</tr>
</table>
</form>
<font color=blue>//폼의 끝을 표시합니다. 당근 있어야 겠죠?</font>
</body>
</html>
자 이게 mail.htm파일입니다.
이 부분은 사용자가 입력한 데이타를 sendmail.php3 파일로 전송하는 부분입니다.
그럼 sendmail.php3 파일을 함 볼까요?
<? <font color=blue>// <- PHP 스트립트 시작표시</font>
<font color=blue>// 이부분은 데이타가 입력되지 않으면 에러표시를 할 함수입니다.</font>
function message ($message) <font color=blue>//$message라는 변수를 받죠</font>
{
echo "
<script>
window.alert ("$message");
history.go(-1);
</script>
";
exit;
}
<font color=blue>// 아래 부분을 보면 mail.html파일에서 input 에서 name=??? 로 햇던 부분들이 그냥 변수로 바로 사용하는게 보이죠? 폼에서 넘어온 값들은 php3에서는 아무 여과없이 그냥 변수처럼 앞에 $ 표시만 해주고 쓰면 됩니다.</font>
if(!$name) message("이름을 입력하십쇼");
if(!$tomail) message("보내는 사람의 메일을 적으십소");
if(!$frommail) message("받는 사람의 메일을 적으십소");
if(!$subject) message("제목을 적으십소");
if(!$memo) message("내용을 적으십소");
<font color=blue>아랫부분은 mail()함수에서 쓰게될 중요한 넘들입니다. 걍 외우십쇼.
</font>
$mh .= "Return-Path: $frommailrn";
$mh .= "From: $name <$frommail>rn";
<font color=blue>아래 striptslashes() 함수는 각 줄의 끝에 붙어 있는 슬래쉬를 제거하는 넘입니다.</font>
$memo = stripslashes($memo);
<font color=blue>아래 mail() 함수가 메일을 보내주는 넘입니다. mail(받는 사람 주소, 제목, 내용, 보내는 사람에 대한 정보)식으로 하면 됩니다.</font>
mail($tomail , $subject , $memo , $mh);
echo " 편지가 발송되었습니다.";
exit;
?>
이상 끝입니다.
의외로 쉽죠?
이 부분을 한번 잘 이해하시구 개념을 생각해보세요.
그럼 php프로그램이라는 것이 어케 돌아가는지 이해가 될겁니다.
게시판이나 방명록이나 모두들 이렇게 폼을 통해 받은 데이타를 처리해서 쓰죠.
이상 폼메일 만들기 편 끝~
브라우저 상에서 멜 보내는 거죠~
이거를 이해하믄 폼의 자료보내는 형식과 php3문법에 대해서 대강이나마 알게 될것 같아서 요 폼메일작성부터 시작합니다.
우선 파일을 두개로 나누었습니다.
편지발송양식을 보여주는 <font color=red>mail.htm</font>과 mail.htm에서 데이타를 받아서 편지를 발송하는 <font color=red>sendmail.php3</font>로 나누었습니다.
<form>태그가 몬지는 아시죠?
간단하게 말해서 웹문서에서는 이 <form>을 이용해서 데이타를 cgi프로그램에 넘겨주게 됩니다.
이거 아니믄 자료를 넘겨줄 방법이 없죠.
<form>에는 2가지가 있어요.
post와 get이라는 건데, 조만간 폼에 대해서 글을 올리겠습니다.
우선 실전용으로 다음 내용을 이해하시면 대강이나마 이해가 되실겁니다.
우선 mail.htm 파일을 보면서 이야기 하죠.
<font color=red>Mail.htm</font>
<html>
<head>
<title>폼메일 만들기</title>
<body>
<font color=blue>//요까지는 당근 아시겠죠?</font>
<form method="post" action="sendmail.php3">
<font color=blue>//요 위에것이 폼 시작을 말합니다. method에는 무조건 post를 넣는다구 생각하면 쉽습니다. 그리고 action은 데이타를 넘길 파일을 가르키면 되구요</font>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
보내는 사람 이름 <input type="text" name="name" maxlength="10" size="10">
<font color=blue>//input문입니다. 이건 보통 한줄짜리 데이타를 처리할때 쓰죠.
요기서 name을 주의해서 보세요. name에 쓰인 글자가 php3로 넘어갈때 $name 이라는 변수로 넘어가게 됩니다.</font>
</td>
</tr>
<tr>
<td>
보내는 사람 E-Mail <input type="text" name="frommail" maxlength="35" size="15"><br>
</td>
</tr>
<tr>
<td>
받는 사람 E-Mail <input type="text" name="tomail" maxlength="35" size="15"><br>
</td>
</tr>
<tr>
<td>
편지 제목 <input type="text" name="subject" maxlength="35" size="15"><br>
</td>
</tr>
<tr>
<td>
<textarea name="memo" rows="5" cols="30"></textarea>
</td>
</tr>
<tr>
<td>
<center><input type="submit" value="편지보내기"> <input type="reset" value="취 소"></center>
<font color=blue>//위에서 type=submit이면 데이타를 action에 입력한 cgi에 넘기게 되구, cancle이면 폼안에 있는 글을 모두 지우죠</font>
</td>
</tr>
</table>
</form>
<font color=blue>//폼의 끝을 표시합니다. 당근 있어야 겠죠?</font>
</body>
</html>
자 이게 mail.htm파일입니다.
이 부분은 사용자가 입력한 데이타를 sendmail.php3 파일로 전송하는 부분입니다.
그럼 sendmail.php3 파일을 함 볼까요?
<? <font color=blue>// <- PHP 스트립트 시작표시</font>
<font color=blue>// 이부분은 데이타가 입력되지 않으면 에러표시를 할 함수입니다.</font>
function message ($message) <font color=blue>//$message라는 변수를 받죠</font>
{
echo "
<script>
window.alert ("$message");
history.go(-1);
</script>
";
exit;
}
<font color=blue>// 아래 부분을 보면 mail.html파일에서 input 에서 name=??? 로 햇던 부분들이 그냥 변수로 바로 사용하는게 보이죠? 폼에서 넘어온 값들은 php3에서는 아무 여과없이 그냥 변수처럼 앞에 $ 표시만 해주고 쓰면 됩니다.</font>
if(!$name) message("이름을 입력하십쇼");
if(!$tomail) message("보내는 사람의 메일을 적으십소");
if(!$frommail) message("받는 사람의 메일을 적으십소");
if(!$subject) message("제목을 적으십소");
if(!$memo) message("내용을 적으십소");
<font color=blue>아랫부분은 mail()함수에서 쓰게될 중요한 넘들입니다. 걍 외우십쇼.
</font>
$mh .= "Return-Path: $frommailrn";
$mh .= "From: $name <$frommail>rn";
<font color=blue>아래 striptslashes() 함수는 각 줄의 끝에 붙어 있는 슬래쉬를 제거하는 넘입니다.</font>
$memo = stripslashes($memo);
<font color=blue>아래 mail() 함수가 메일을 보내주는 넘입니다. mail(받는 사람 주소, 제목, 내용, 보내는 사람에 대한 정보)식으로 하면 됩니다.</font>
mail($tomail , $subject , $memo , $mh);
echo " 편지가 발송되었습니다.";
exit;
?>
이상 끝입니다.
의외로 쉽죠?
이 부분을 한번 잘 이해하시구 개념을 생각해보세요.
그럼 php프로그램이라는 것이 어케 돌아가는지 이해가 될겁니다.
게시판이나 방명록이나 모두들 이렇게 폼을 통해 받은 데이타를 처리해서 쓰죠.
이상 폼메일 만들기 편 끝~
댓글 38
-
Cesuk
2000.08.16 20:02
그런데 에드슬레시스함수를 안넣었는데 스트립슬레시스를 왜 넣는건가요? -
Cesuk
2000.08.16 20:02
답변좀 부탁드립니다~ -
ZERO
2000.08.29 16:44
죄송합니다.--; -
gfds
2000.12.01 09:22
gfds -
버섯머리
2000.12.20 21:49
스트립슬레시스를 넣어야 역슬레시를 제거해서가 아닐까여? -
pkinsa
2000.12.27 18:44
어쩌낭...안돼는데...쩝쩝.. -
mvwiz.com
2000.12.28 17:09
zend 에서는 역슬레쉬가 자동으로 붙어요 db에 들어가기 전에 그러니까 스트립을 써야지용 -
김보람
2001.01.22 01:18
ㅡ.ㅡ; -
Ash-!
2001.02.08 16:00
우음.. -
김영득
2001.03.01 09:55
음... 쉽다... -
김성훈
2001.04.19 19:10
무신말인지 ㅡ.,ㅡ -
정성훈
2001.05.06 17:52
Cesuk[RE] 굴게 말야. -
정성훈
2001.05.06 17:52
저기다가 세션이나 쿠키 쓰면 더욱 좋고... 회원제 할경우 말야 :) -
배두환
2001.06.13 10:17
mail()함수를 쓰려면 SMTP메일 전송을 지원하는 데몬이 실행되야한다는데 그게 몬뜻이져? -
김의주
2001.09.05 15:44
window.alert($message);나 alert($mesage);나 같은 말입니다.
그런데 그나저나 -.-+ x-y.net에서 호스팅 받구 있는데요 mail() 로 보냈는데 메일이 전송이 안되는 이유는 뭘까요? -.-;; 이것때문에 상당히 고민됨 ;; -
이정훈
2001.07.04 12:46
아 쉽당..; -
신준섭
2001.07.16 18:18
sendmail.php, window.alert ("$message"); Parse error: parse error, expecting `','' or `';'' -
박주경
2001.08.28 17:00
맞아요.. 알아서 돌려보니까. 위에꺼처럼 문법오류나는데요? window.alert ("$message"); 이줄에서요. -
ⓐⓚⓘⓩⓐ
2001.09.07 23:00
html 문서가 안되남..<font color="red"> </font>이게 다 나오네염..
수정점 해주시지..무쟈게 헷갈리네염~~ -
영혼
2001.12.06 23:16
echo "<script>javascript:alert('$message'); history.go(-1); </script>"; -
변현정
2001.12.11 08:09
저렇게 해서 보내 보니까 보내는 사람이 nobody라고 나오는데... -
이동훈
2001.12.13 17:44
window.alert ("$message"); 수정-> window.alert ($message); -
밍이
2002.03.12 09:47
후우...ㆀ
이해 되네요..^_^*
제로님이 가장 중요한거 외우라는거 영어뜻고 마찬가지여서
외우긴 쉽겠군요. -
이영진
2002.06.23 13:50
보내는 사람이 노바디로 나와 전송이 되네요... -
김영근
2002.06.28 12:54
$from = "$name <$frommail>" ;
$mh = "From: " . $from . "n" ;
이렇게 수정하면,, 보내는 사람 정보가 나와요..
위에 써진게 왜 안되는지는 잘모르지만여.. ^^;; -
신혜미
2002.08.18 03:41
서버에 있는 메일 계정을 통해서 보내지는 거라서 그럴지도..;;. -
곽명우
2002.10.08 20:17
와우 쉽네요 ^^ 정말 굿 ^^b -
서한나
2002.11.03 13:06
파일전송을 폼메일에 포함시키는 방법은 없나요? -
K.샘
2003.02.04 18:03
이야 메모만들기 참쉽네 저 커뮤니티 싸트 만드는데 많은 도움이ㅎㅎ -
남상규
2003.04.08 17:43
빠른답변! 저기 이거 HTML먹히나요? -
낡은청바지
2003.07.19 03:59
ㅡㅡ;;
두개를 만들어서 어떻게 하라는 거져? -
yoyo
2003.10.29 12:10
$mh .= "Return-Path: $frommailrn";
$mh .= "From: $name <$frommail>rn";
우에 요고 기억하라고 하는데..도데체 뭔지 잘 모르겠네요..설명좀 해주세요.. -
자유타
2005.05.28 11:31
에효.. 내가 우표사다가.. 메일 보내구.. 말지.. ㅡㅜ -
Jay_J
2012.11.23 06:22
이곳 XPressEngine에서 가장 재미있는 댓글을 읽게 해 주셔서 감사합니다... 하하하하하..
-
이카르트*
2004.10.03 11:17
그냥 위의 소스 긁어다가 메모장에넣고 해당 문서로 저장만하면 되는거 아녜요?
제 리눅스 서버에 올렸는데 안되요.
글구 sendmail.php3을 sendmail.php로 저장했거든요
그러면 편지가 안오나요? -
이카르트*
2004.10.03 11:16
"메일이 발송되었습니다 " 메세지는 뜨는데 '
메일은 안와요.. ㅠㅠ -
rombardi
2005.11.10 02:21
메일 보내는데 우표를 왜사요? ㅋㅋㅋ -
왕형균
2006.05.03 08:07
유머... ㅋㅋㅋ