폼메일 이용해서 메일보내기할때 자동으로 메일보내지는문제...
본문
<form name=fsendmailtest method=post>
<input type=hidden name=token value='<?=$token?>'>
<ul>
<li><input type="text" id="FirstName" name=name required placeholder=" NAME"></li>
<li><input type="text" id="Email" name=gbeovhs required placeholder=" EMAIL"></li>
<li style="display:none;"><input type=text class=ed name=mail size=30 required itemname="E-mail" value="*** 개인정보보호를 위한 이메일주소 노출방지 ***";//메일주소 넣으시고
$email = explode(",", $mail);
$sub = "$name, $gbeovhs, $pay, $memo";
for ($i=0; $i<count($email); $i++)
mailer($from_name, $from_email, trim($email[$i]), "Subscription", $sub);
echo <<<HEREDOC
<SCRIPT type="text/javascript">
alert("메일링 리스트에 등록이 완료되었습니다. (Thanks! You have subscribed successfully.)");
</SCRIPT>
HEREDOC;
}
$token = get_token();
?>
위와 같이 작성하였습니다.
(메일주소는 임의로 변경하였습니다.)
작동은 잘하나 페이지 새로고침/전송버튼을 누르면 자동으로 메일이 재전송되며 alert창도 새로뜹니다.
전송버튼을 클릭시에만 alert창 뜨고 메일도 전송하게 하고싶은데... 어떻게 손봐야할까요?ㅠㅠㅠㅠㅠㅠ
답변 1
onclick() 으로 폼양식 전송하세요.
onclick='함수';
로해서 자바스크립트 함수를 만들어서 함수에서 전송값 넘기게끔 하세요.
그냥 form으로 된경우 새로고침하면 매번 같은 값 전송합니다.