html폼메일 submit버튼 클릭 후 다시 작성페이지로 돌아가게하고 싶습니다.
본문
작성 후 메일은 오는데, 다시 작성페이지로 돌아오지 않습니다.
작성 후 작성페이지로 돌아오게 하려면 어떻게 해야 하나요?
<form action="contact_me.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>
<?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\nName: $name\n\nEmail: $email_address\n\nPhone: $phone\n\nMessage:\n$message";
$headers = "Reply-To: $email_address\r"; // 답장 주소
mail($to,'=?UTF-8?B?'.base64_encode($email_subject).'?=',$email_body,$headers);
return true;
?>
답변 2
막줄에
alert("메일이 전송되었습니다.", "페이지 주소");
페이지이동없이 submit하고싶으시면 제이쿼리 serialize 이용해서 ajax로 보내버리면 되지않을까요???