웹마스터 팁
PHP_7_간단한 폼메일 만들기
2008.04.03 01:09
우선 이 폼메일 강의를 보기 전에 제로보드의 제로님께서 작성하신
글 주소 : http://www.zeroboard.com/?mid=study_php&search_target=title&search_keyword=%ED%8F%BC%EB%A9%94%EC%9D%BC&document_srl=1499642
폼메일 자료를 참고 하시는것도 좋습니다.
1. mail
오늘 배울것중 가장 중요한것은 메일 함수 입니다.
오늘 메일 함수의 사용법을 간단히 알아 보겠습니다.
mail("메일주소","제목","내용")
형식으로 들어 가게 됩니다.
자 그럼 소스를 볼까요 우선 소스를 보기 전에 구조가 어떻게 되어 있는지를 알아야 합니다.
가장먼저 html 폼메일 폼을 받아야 겠죠 폼 이름을 form_mail.html 로 지정하고 이메일을 전송할
php 는 mail_send.php 로 저장하도록 하겠습니다.
※여기서 잠깐 변수를 받아 드릴때 php 파일보다 php3 파일이 사용에 더 좋습니다.
그럼 가장먼저 html 소스부터 보겠습니다.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-kr" /> </head> <style type="text/css"> <!-- td { font-size:12px; color:#333333; font-weight:bold;} table { border:#CCCCCC solid 1px;} .form_name { width:60px; height:16px; font-size:12px; color:#666666; background-color:#E3E3E3; border:solid 1px #999999;} .form_subject { width:250px; height:16px; font-size:12px; color:#666666; background-color:#E3E3E3; border:solid 1px #999999;} .form_mail1 { width:150px; height:16px; font-size:12px; color:#666666; background-color:#E3E3E3; border:solid 1px #999999;} .form_mail { width:100px; height:16px; font-size:12px; color:#666666; background-color:#E3E3E3; border:solid 1px #999999;} .form_memo { width:300px; height:250px; font-size:12px; color:#666666; background-color:#E3E3E3; border:solid 1px #999999;} .form_submit { width:50px; height:16px; font-size:12px; color:#FFFFFF; background-color:#999999; border: solid 1px } --> </style> <body> <table width="400" border="0" cellspacing="0" cellpadding="0"><form action="mail_send.php"> <tr> <td colspan="2"> </td> </tr> <tr> <td width="100" height="20" align="center" valign="middle"><div align="center"><strong>보낸이</strong></div></td> <td width="300"><input type="text" class="form_name" name="subject" maxlength="4"></td> </tr> <tr> <td height="10" align="center" valign="middle"><div align="center"><strong>이메일</strong></div></td> <td><input name="mailid" type="text" class="form_mail1"> @ <input name="mail" type="text" class="form_mail"></td> </tr> <tr> <td height="20" align="center" valign="middle"><div align="center">제목</div></td> <td><input name="subject" type="text" class="form_subject" id="name" maxlength="50"></td> </tr> <tr> <td align="center" valign="middle"><div align="center"><strong>문의 사항 </strong></div></td> <td><textarea name="memo" class="form_memo"></textarea></td> </tr> <tr> <td><div align="center"></div></td> <td align="right"><br> <input name="Submit2" type="reset" class="form_submit" value="다시쓰기"> <input name="Submit" type="submit" class="form_submit" value="보내기"></td></tr> <tr> <td colspan="2"> </td> </tr></form> </table> </body> </html>위와 같이 폼메일을 디자인 합니다. 저는 여기서 스타일을 써서 폼메일을 디자인 했습니다.
그리소 또 php 파일을 하나더 만듭니다. 저장 이름은 mail_send.php 입니다.
우선 php 소스를 쓰기 전에 위의 태그를 알아 봐야 겠죠 위에 보면 가장 중요한
form 태그로 mail_send 로 메일을 보내주는게 있습니다. 그부분은 꼭 잘 알아 두세요 !
action 을 써서 mail_send 경로를 써주는 것과 <input 태그 들의 name 에 변수로 전해줄
값의 이름을 적어 주는것도 유의 하셔야 합니다.
자 그럼 php 소스를 알아 보겠습니다.
<? function message ($message) echo " <script> window.alert ('$message'); history.go(-1); </script> "; exit; } $formmail=$mailid."@".$mail; $mh .= "Return-Path: $frommailrn"; $mh .= "From: $name <$frommail>rn"; $tomail= "ogit@ogit.kr"; if($subject and $memo and $mail and $mailid == ""){ message('모두 빠짐없이 입력해주세요'); }else{ mail($tomail,$subject,$memo,$mt); message('+ '정상적으로 발송되었습니다.'); } ?>자 위와 같은 소스 입니다. 우선 저는 message 라는 함수를 만들어 주고 스크립트를 이용해서 메세지를 뛰어 주게 했습니다.
그리고 and 연산자를 이용하여 받은 변수 값들이 비어있지 않는 것을 확인하고 mail 함수로 메일을 보내주는 형식입니다.
간단히 소스만 보면 알수 있을지도 모르겠지만 여기서 처음 보는 것들을 설명 하겠습니다. 아까 위에서 mail 함수의 사용법을
알아 보았습니다. 그럼 mail 이 어떻게 이루어 지는지도 쉽게 알수 있겠죠 ! 자 그럼 and 가 무었일까요 ?
and 는 그저 그리고 라는 뜻대로 해석 하시면 될겁니다. 변수 subject 와 변수 memo 와 변수 mail 변수 mailid 값이 비어 있으면
모두 빠짐없이 입력해 주세요 라는메세지를 뛰우는 것처럼 and 는 그저 3개중 모두 비어 있지 않으면 false 거짓이 됩니다.
그러기에 and 연산자를 사용하게 됩니다. and는 &로도 대처 하여 사용할수 있다는걸 잊지마세요 !
자 그럼 다음 강의에서는 GET 에 대해 간단히 알아 보도록 하겠습니다.
http://www.ogit.kr 많이 방문해주세요
제목 | 글쓴이 | 날짜 |
---|---|---|
APC(Alternativ PHP Cache) 사용법( php 캐쉬 플러그인 ) [1] | 김도한 | 2002.01.29 |
MySQL 관리 첫걸음 [5] | 앤디(andy) | 2001.04.18 |
{주목} CodeRed 아파치로그파일 지우기 [2] | skyel | 2001.08.22 |
linuxerv무료계정 백업받기^^ [2] | ^^shaki | 2001.02.05 |
네트워크 보안 - 스팸메일 추적 방법 [10] | 정후니 | 2001.09.29 |
[팁] mysql root password 분실했을 때 [5] | 최상훈 | 2001.09.27 |
윈도우에 설치된 MySQL의 root 패스워드 분실시 대처방법 [7] | Mintzz | 2001.04.29 |
리눅스 스왑 파티션 만들기 | skywalkers | 2001.01.03 |
MySQL DB(디비)와 Table(테이블) Delete(삭제/초기화)하는 방법 [16] | 차카게살자 | 2002.01.01 |
회원가입할때 중복막기 [4] | 김도훈449 | 2009.01.25 |
기초설명_변수를 알기전에.. [2] | ifnelse | 2008.07.28 |
기초설명_자바스크립트와 PHP와의 가장 큰 차이점 [4] | ifnelse | 2008.07.28 |
PHP_9_My-sql함수를 이용한 프로그램_1 | 아무흐 | 2008.07.15 |
PHP 가변변수와 이항연산자에 대해 | 특급잠수부 | 2008.05.03 |
PHP에 입문하시는 분들을 위해 적어봅니다. [5] | 특급잠수부 | 2008.04.26 |
PHP_7_간단한 폼메일 만들기 [1] | 아무흐 | 2008.04.03 |
GD를 이용해 즉석에서 룰오버 링크버튼 만들기 | 김현석181 | 2008.03.29 |
PHP_6_간단한 폼 구구단을 만들어 보자 [2] | 아무흐 | 2008.03.26 |
PHP_4_변수 | OGIT | 2008.03.25 |
FLV 사이트 다운로더 소스 | fallstoofast | 2008.03.07 |
위와 같은 부분은 boolean 체크이므로 좋지 않습니다.
strlen이나 $subject != '' 로 하는 것이 좋고 $mailid == "" 는 empty($mailid) 로 하는 것이 좋습니다.
또한 가급적이면 if 문안의 and나 or보다는 && || 를 쓰시는것이 좋습니다.
mail($tomail,$subject,$memo,$mt);
message('정상적으로 발송되었습니다.');
이부분은
$return = mail();
return ($return) ? message('정상적으로 발송되었습니다.'):message('메일발송 실패입니다.');
와 같이 처리하는 것이 좋습니다.