폼메일 발송후 특정 사이트 이동 방법 여쭤봅니다 ㅜㅜ

폼메일 발송후 특정 사이트 이동 방법 여쭤봅니다 ㅜㅜ

QA

폼메일 발송후 특정 사이트 이동 방법 여쭤봅니다 ㅜㅜ

답변 1

본문

==== HTML ====

<!DOCTYPE html>
<html lang="ko">
  <head>
    <!-- charset 설정 -->
    <meta charset="UTF-8">
    <!-- ie 호환성보기 무시 -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- 모바일을 위한 viewport설정 -->
    <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">
    <title>폼메일 소스</title>
    <style>
      .contact_form input[type=text],
      .contact_form select,
      .contact_form textarea,
      .contact_form input[type=email],
      .contact_form input[type=tel] {
        width: 100%;
        padding: 12px;
        border: 1px solid #ccc;
        border-radius: 4px;
        box-sizing: border-box;
        margin-top: 6px;
        margin-bottom: 16px;
        resize: vertical;
      }
      
      .contact_form>h3 {
        text-align: center;
      }
      
      .contact_form textarea {
        height: 200px;
        resize: none;
      }
      
      .contact_form input[type=submit] {
        background-color: #737373;
        color: white;
        padding: 12px 20px;
        border: none;
        border-radius: 4px;
        cursor: pointer;
        transition: 0.3s;
      }
      
      .contact_form input[type=submit]:hover {
        background-color: #aaa;
      }
      
      .contact_form {
        width: 90%;
        margin: 0 auto;
        margin-top: 50px;
        border-radius: 5px;
        padding: 20px;
      }
      
      .contact_form>h3 {
        font-size: 30px;
        padding-bottom: 50px;
      }
 
    </style>
  </head>
 
  <body>
    <!-- 폼태그 -->
    <section class="contact_form" id="contact_form">
      <h3>Contact Form</h3>
      <form action="data.php" method="post">
        <label for="name">이름 (필수)</label>
        <input type="text" id="name" name="name" placeholder="이름" required>
        <label for="email">이메일 (필수)</label>
        <input type="email" id="email" name="email" placeholder="이메일" required>
        <label for="phone">전화번호 (필수)</label>
        <input type="tel" id="phone" name="phone" placeholder="전화번호" required>
        <label for="message">문의내용 (필수)</label>
        <textarea id="message" name="message" placeholder="문의내용" required></textarea>
        <input type="submit" value="보내기">
      </form>
    </section>
  </body>
 
</html>

 

 

 

==== PHP =======

 

<?php
header("Content-Type: text/html; charset=UTF-8");
 
// 빈 필드가 있는지 확인하는 구문
if(empty($_POST['name'])          || // post로 넘어온 name값이 비었는지 확인
   empty($_POST['email'])         || // email값이 비었는지 확인
   empty($_POST['phone'])         || // phone값이 비었는지 확인
   empty($_POST['message'])    || // message값이 비었는지 확인
   !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)) // 전달된 이메일 값이 유효한 이메일값인지 검증
   {
    echo "인수를 확인해주세요!";
    return false;
   }
// Cross-Site Scripting (XSS)을 방지하는 시큐어코딩
// strip_tags() -> 문자열에서 html과 php태그를 제거한다
// htmlspecialchars() -> 특수 문자를 HTML 엔터티로 변환
// 악의적인 특수문자 삽입에 대비하기 위함
 
$name = strip_tags(htmlspecialchars($_POST['name']));
$email_address = strip_tags(htmlspecialchars($_POST['email']));
$phone = strip_tags(htmlspecialchars($_POST['phone']));
$message = strip_tags(htmlspecialchars($_POST['message']));
    
// 이메일을 생성하고 메일을 전송하는 부분
$to = '*** 개인정보보호를 위한 이메일주소 노출방지 ***'; // 받는 측의 이메일 주소를 기입하는 부분
$email_subject = "FROM:  $name"; // 메일 제목에 해당하는 부분
$email_body = "파트너 신청 요청이 있습니다..\n\n"."세부정보는 다음과 같습니다.\n\n업체명 : $name\n\n이메일 : $email_address\n\n전화 : $phone\n\n담당자명/세부내용 : $message";
$headers = "Reply-To: $email_address\r"; // 답장 주소
 
mail($to,'=?UTF-8?B?'.base64_encode($email_subject).'?=',$email_body,$headers);

return true;            

?>

 

 

======================

 

여기저기 찾아봤는데 소스가 조금씩 달라서 뭔가 잘 안맞아요 ㅜㅜ

 

만약 폼메일 전송하고 "naver.com" 으로 이동하고 싶다면?

어디를 어떻게 고쳐야 할지 모르겠어요 ㅜㅜ

 

 

 

 

 

이 질문에 댓글 쓰기 :

답변 1

위 php가 전체 소스인가요???

전체 소스라면 조금 이상합니다. 함수가 아닌데 일반 평문에 return 이 있거든요.

 

retun 을 지우시고 거기다가 다음 코드를 삽입하세요.


echo "<script> 
document.location.href='도메인'; 
</script>"; 

 

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
  • 질문이 없습니다.
전체 0
© SIRSOFT
현재 페이지 제일 처음으로