버튼클릭시 확인되었습니다 창 뜨게하는법 부탁드려요~

버튼클릭시 확인되었습니다 창 뜨게하는법 부탁드려요~

QA

버튼클릭시 확인되었습니다 창 뜨게하는법 부탁드려요~

답변 4

본문

소스아래 메일발송버튼 누르면

 

성공하였습니다가 창으로 뜨면서

새로고침되거나.

location.href="/"; 이렇게 메인으로 넘어가게끔 부탁드립니다.

 

버튼누르면 mail.php 페이지로 넘어가버리네요.

 

 


mailform.html

<html>
<title>www.webmadang.net</title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<style type="text/css">
<!--
td {  font-family: "굴림"; font-size: 9pt}
.box {  font-family: "굴림"; font-size: 12px; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bott2006-08-01om-width: 1px; border-left-width: 1px}
-->
</style>
<script language="javascript">
<!--
function initForm(frm)
{
   frm.mailTo.value = "";
   frm.mailFrom.value = "";
   frm.fromName.value = "";
   frm.title.value = "";
   frm.content.value = "";
   frm.upfile.select();            
   document.selection.clear(); 
   frm.mailTo.focus();
}
function checkForm(frm)
{
  var Filter = /(\S+)@(\S+)\.(\S+)/ 
    
  if( !frm.mailTo.value.match(Filter))
  { 
    alert("유효하지 않은 이메일주소 입니다");
 frm.mailTo.focus();
 return;
  }
  if( !frm.mailFrom.value.match(Filter))
  { 
    alert("유효하지 않은 이메일주소 입니다");
 frm.mailFrom.focus();
 return;
  }
  if( !frm.fromName.value )
  {
    alert("보내는 분의 이름 또는 정보를 입력해 주세요");
 frm.fromName.focus();
 return;
  }
  if( !frm.title.value )
  {
    alert("메일의 제목을 입력해 주세요");
 frm.title.focus();
 return;
  }
  if( !frm.content.value )
  {
    alert("메일의 내용을 입력해 주세요");
 frm.content.focus();
 return;
  }

  frm.action = "mail.php";
  frm.submit();
}
//-->
</script>
</head>
<body>
<form name="form" method="post" enctype="multipart/form-data">
<table width="600" border="1" cellspacing="1" cellpadding="0">
  <tr> 
    <td width="150">받는사람(to)</td>
    <td width="457"><input type="text" name="mailTo" size="60"></td>
  </tr>
  <tr> 
    <td width="134">보내는사람(from)</td>
    <td width="457"><input type="text" name="mailFrom" size="60"></td>
  </tr>
  <tr> 
    <td width="134">보내는사람 이름(name)</td>
    <td width="457"><input type="text" name="fromName" size="60"></td>
  </tr>
  <tr> 
    <td>제목(title)</td>
    <td><input type="text" name="title" size="60"></td>
  </tr>
  <tr> 
    <td>내용(content)</td>
    <td><textarea name="content" cols="58" rows="10"></textarea></td>
  </tr>
  <tr> 
    <td>파일(upfile)</td>
    <td><input type="file" name="upfile" size="50"></td>
  </tr>
  <tr> 
    <td colspan="2" align="center"><input type="button" name="send" value="메일발송" onClick="checkForm(this.form);"> 
      <input type="button" name="init" value="초기화" onClick="initForm(this.form);"></td>
  </tr>
</table>
</form>
</body>
</html>
 

------------------------------

mail.php

 ​

<?
?>
//-- $mailTo : 수신자 이메일주소
//-- $mailFrom : 송신자 이메일주소
//-- $fromName : 송신자명 또는 정보
//-- $title    : 메일제목
//-- $content  : 메일내용
//-- $upfile   : 첨부파일명
//*******************************

 $boundary = "----" . uniqid("part"); // 구분자 생성
 
 // --- 헤더생성 --- //
 $header  = "Return-Path: $mailFrom\r\n";                             // 반송 이메일 주소
 $header .= "from: $fromName <$mailFrom>\r\n";                        // 송신자명, 송신자 이메일 주소
 // --- 첨부화일이 있을경우 --- //
 if($upfile && $upfile_size) {
 $filename=basename($upfile_name); // 파일명 추출
 $fp = fopen($upfile,"r"); // 파일 열기
 $file = fread($fp,$upfile_size); // 파일 읽기
 fclose($fp);  // 파일 닫기
 if ($upfile_type == ""){
  $upfile_type = "application/octet-stream";
 }
 // --- 헤더작성 --- //
 $header .= "MIME-Version: 1.0\r\n";                                  // MIME 버전 표시
 $header .= "Content-Type: Multipart/mixed; boundary=\"$boundary\"";  // 구분자 설정, Multipart/mixed 일 경우 첨부화일
 // --- 이메일 본문 생성 --- //  
 $mailbody = "This is a multi-part message in MIME format.\r\n\r\n";
 $mailbody .= "--$boundary\r\n";
 $mailbody .= "Content-Type: text/html; charset=euc-kr\r\n";
 $mailbody .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
 $mailbody .= nl2br(addslashes($content)) . "\r\n";
 
 // --- 파일 첨부 ---//  
 $mailbody .= "--$boundary\r\n";  
 $mailbody .= "Content-Type: ".$upfile_type."; name=\"".$filename."\"\r\n";   // 내용
 $mailbody .= "Content-Transfer-Encoding: base64\r\n"; // 암호화 방식  
 $mailbody .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n"; // 첨부파일인 것을 알림
 $mailbody .= base64_encode($file)."\r\n\r\n";  
 $mailbody .= "--$boundary--";  //내용 구분자 마침
 } else {
    // --- 헤더작성 --- //  
    $header .= "MIME-Version: 1.0\r\n";  
    $header .= "Content-Type: Multipart/alternative; boundary = \"$boundary\"";  
    // --- 이메일 본문 생성 --- //
    $mailbody = "--$boundary\r\n";  
    $mailbody .= "Content-Type: text/html; charset=euc-kr\r\n";
    $mailbody .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
    $mailbody .= nl2br(addslashes($content)) . "\r\n";
  
    $mailbody .= "--$boundary--\r\n\r\n";  
} 
 $result = mail($mailTo,$title,$mailbody,$header);
 if($result){
 echo "메일 전송에 성공하였습니다.";
 }else  {
 echo "메일 보내기 실패";
 }
?>​

 

이 질문에 댓글 쓰기 :

답변 4

if($result){
 echo "메일 전송에 성공하였습니다.";
}else  {
 echo "메일 보내기 실패";

}

 

mail.php 파일의 최하단 부분에서 위 코드를 아래와 같이 수정합니다.

 

if($result){

 echo "<script>alert('메일 전송에 성공하였습니다.'); location.href = '/';</script>";
}else  {
 echo "<script>alert('메일 전송이 실패하였습니다.'); history.back();</script>";

} 


// 하단에 56번라인부터 아래코드로 대체해 보세요.
 
if($result){
echo "<script>alert('메일전송에 성공하였습니다.');
location.href='/';
</script>";
}else{
echo "<script>alert('메일전송에 실패하였습니다.');
location.href='/';
</script>"; 
}
exit;

 

<script> 부분을 

<script type=\"text/javascript\" data-cfasync=\"false\"> 

이렇게 바꿔보세요.

 

그래도 안되면 보지않는한 답변을 해드리기 곤란할듯합니다.

백지로뜬다면 오류표시를 나타낼수있도록 상단에 정의하시고...

답변을 작성하시기 전에 로그인 해주세요.
전체 2
© SIRSOFT
현재 페이지 제일 처음으로