html 폼메일php 연결하기 채택완료
안녕하세요. 웹 관련 초보자 입니다ㅠㅠ.
html에 php를 연결시켜 메일을 보낼 수 있도록 해야해서, 인터넷에 찾아 집어넣었습니다.
전송 버튼을 누르면 그냥 흰바탕이 뜨면 send.php주소로 넘어가고 아무런 작동을 하지 않습니다. 어떤 점이 잘못된건지 조언 부탁드려도 될까요?
contact.html
Copy
Name
Tel
Fax
Email
Address
Inquiry
Send
Rewrite
send.php
Copy
답변 2개
채택된 답변
+20 포인트
BiHon
5년 전
1. <? → <?php 추천
2. send.php 파일 내용을 아래처럼 변경하고, 폼에서 입력한 값이 뜨는지 확인부터 해보세요.
Copy
Input values =
3. 옛날 방식의 변수라 그렇습니다. 2번에 적은 변수를 사용해야 합니다.
Copy
$first_name → $_POST['first_name'] // 또는 $_REQUEST['first_name'] (특성 이해하고 사용)
4. |r|n → \r\n
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
5년 전
BiHon
5년 전
send.php 파일 내용을 더도 말고 덜도 말고 딱 아래처럼만 저장하면 됩니다.
[code]
Input values = <?php print_r($_POST);
[/code]
contact.html에서 아무 내용이나 입력하고, 전송하기 버튼을 눌렀을 때
화면에 Input values = ... 입력된 내용들 뜨면 정상입니다.
"전송 버튼을 누르면 그냥 흰바탕이 뜨면 send.php주소로 넘어가고 아무런 작동을 하지 않습니다."라고 했기 때문에 확인용이었죠.
화면에 내용이 정상적으로 떴다면, 변수들을 모두 바꿔주면 됩니다.
그런데 " 내에서는 {}로 감싸주면 됩니다.
[code]
$body = "이름: {$_POST['first_name']}\r\n";
[/code]
그리고, $mailheaders에 $name, $email은 없으니 상단에 $name = '원하는 이름'; 추가,
$email은 $_POST['from_email'] 등 정상적인 값이 들어가도록 바꿔주면 됩니다.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ Dealing with Forms (폼 다루기)
- https://www.php.net/manual/en/tutorial.forms.php
- http://docs.php.net/manual/kr/tutorial.forms.php
+ mail()
- https://www.php.net/manual/en/function.mail
- http://docs.php.net/manual/kr/function.mail.php
mail() 함수의 예제를 통해, 가장 간단한 코드로 메일 발송 테스트부터 해보면 됩니다.
환경에 따라 다양한 경우가 있어 이하 생략합니다.
[code]
Input values = <?php print_r($_POST);
[/code]
contact.html에서 아무 내용이나 입력하고, 전송하기 버튼을 눌렀을 때
화면에 Input values = ... 입력된 내용들 뜨면 정상입니다.
"전송 버튼을 누르면 그냥 흰바탕이 뜨면 send.php주소로 넘어가고 아무런 작동을 하지 않습니다."라고 했기 때문에 확인용이었죠.
화면에 내용이 정상적으로 떴다면, 변수들을 모두 바꿔주면 됩니다.
그런데 " 내에서는 {}로 감싸주면 됩니다.
[code]
$body = "이름: {$_POST['first_name']}\r\n";
[/code]
그리고, $mailheaders에 $name, $email은 없으니 상단에 $name = '원하는 이름'; 추가,
$email은 $_POST['from_email'] 등 정상적인 값이 들어가도록 바꿔주면 됩니다.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ Dealing with Forms (폼 다루기)
- https://www.php.net/manual/en/tutorial.forms.php
- http://docs.php.net/manual/kr/tutorial.forms.php
+ mail()
- https://www.php.net/manual/en/function.mail
- http://docs.php.net/manual/kr/function.mail.php
mail() 함수의 예제를 통해, 가장 간단한 코드로 메일 발송 테스트부터 해보면 됩니다.
환경에 따라 다양한 경우가 있어 이하 생략합니다.
댓글을 작성하려면 로그인이 필요합니다.
5년 전
경로가 올바른지 체크하시고
해당 send.php 파일의 소스를 점검해보셔야 할듯합니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
5년 전
안녕하세요,그누위즈님! 먼저 답변 감사드립니다.
경로같은 경우, 모두 한 폴더에 들어가있어 별 이상이 없는 것 같습니다ㅠㅠ..
제가 자바스크립트를 잘 몰라 소스를 점검하고 싶지만 점검할 수 있는 방법이 없어 질문게시판에 올리게 되었습니다.
혹시 시간의 여유가 되신다면 소스를 좀 더 봐주실수 있으실까요?
경로같은 경우, 모두 한 폴더에 들어가있어 별 이상이 없는 것 같습니다ㅠㅠ..
제가 자바스크립트를 잘 몰라 소스를 점검하고 싶지만 점검할 수 있는 방법이 없어 질문게시판에 올리게 되었습니다.
혹시 시간의 여유가 되신다면 소스를 좀 더 봐주실수 있으실까요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
이렇게나 친절하게 설명해주셧지만, 완전히 이해하지를 못해서요ㅠㅠ..
괜찮으시다면 조금 더 봐주실 수 있을까요?
1. <? 에서 <?php 로 수정했습니다.
2. 어느부분에 저렇게 변경해야하는지 모르겠습니다...
3. 밑에 두줄대로 수정하는게 맞나요?
[code]
if $_POST['first_name'] {error('Please Write Your Name.');}
if $_POST['form_tel'] {error('Please Write Your Tel.');}
if $_POST['form_fax'] {error('Please Write Your Fax.');}
if $_POST['form_email'] {error('Please Write Your Email.');}
if $_POST['form_address'] {error('Please Write Your Address.');}
if $_POST['comments'] {error('Please Write Inquiry.');}
$mailheaders = "Return-Path: $email \r\n";
$mailheaders .= "From: $name <$email>\r\n";
$body = "이름: $_POST['first_name'] \r\n";
$body = "전화번호: $_POST['form_tel'] \r\n";
$body = "팩스: $_POST['form_fax'] \r\n";
$body = "이메일: $_POST['form_email'] \r\n";
$body = "주소: $_POST['form_address'] \r\n";
$body = "내용: $_POST['comments'] \r\n";
[/code]