이메일 전송 시 링크가 안넘어가게 하고싶습니다.
본문
안녕하세요.
그누보드 초보, php 초보입니다
제가 이메일을 전송하게 하는 form태그와 email.php를 작성하였는데,
method="post"를 입력하면 email.php로 넘어가지 않고 이메일이 전송된다고 들었는데, 그렇지가 않습니다
email.php 페이지로 넘어가게되어.. 곤란하네요 ㅠ
HTML
<section id="section04">
<form action="<?php echo G5_THEME_URL ?>/html/_email.php" role="form" method="post">
<div class="row">
<div id="errormessage">
</div>
<div class="col-lg-6">
<div class="form-group contact-block1">
<input type="text" name="name" class="form-control" id="name" placeholder="이름">
</div>
<div class="form-group contact-block2">
<input type="email" name="email" placeholder="이메일">
</div>
<div class="form-group contact-block3">
<input type="text" name="subject" placeholder="내용">
</div>
<div class="form-group">
<textarea name="message" id="message" cols="30" rows="10"></textarea>
</div>
<input type="submit" value="Send message">
</div>
</div>
</form>
php
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
$charset = 'UTF-8'; //문자셋
$to = "*** 개인정보보호를 위한 이메일주소 노출방지 ***"; //개발자의 이메일 주소
$name = $_POST['name']; // 보낸이 이름
$name = str_replace("'","''",$name);
$Email= $_POST['email']; //보낸 이 이메일주소
$subject =$_POST['subject']; //제목
$subject = str_replace("'","''",$subject);
$message="작성자: ".$name."\n 내용: ".$_POST['message']; //내용
$message = str_replace("'","''",$message);
$headers="From :".$Email."\r\n"; // 헤더설장 ( 보내는 이 )
$mail_result = mail($to, $subject, $message, $headers); //메일보내기
?>
<script>
if($mail_result){
window.alert('보냇습니다');
} else{
window.alert('실패했습니다.')
}
</script>
답변 1
폼전송을 숨기려면 iframe 처리하거나 비동기로 처리해야합니다.
스크립트로 메일 전송후 다시 폼으로 돌아오게 해보세요
<script>
if($mail_result){
window.alert('보냇습니다');
location.replace('./html.php');
} else{
window.alert('실패했습니다.')
location.replace('./html.php');
}
</script>
답변을 작성하시기 전에 로그인 해주세요.