2014-06-30 5 views
0

기본적으로 전자 메일이 올바른지 확인하는 PHP 코드가 있으며,있는 경우 전자 메일을 * .txt 파일에 저장합니다. 구독 양식), 그렇지 않으면 오류 div가 팝업되지만 전체 웹 페이지를 새로 고침하여 팝업하고 하단에 스크롤하면 실제로 오류가 표시됩니다.새로 고침을하지 않고 팝업 오류가 발생합니다.

<?php 
if (isset($_POST['submit'])) { 
    if(isset($_POST['inputEmail'])) { 
     $email = trim($_POST['inputEmail']); 
     if(!filter_var($email, FILTER_VALIDATE_EMAIL)) { 
      echo "<div class='wrong'>This e-mail is invalid.</div>"; 
     } 
     else { 
      $data = $email . "\n"; 
      $ret = file_put_contents('emailAddresses.txt', $data, FILE_APPEND | LOCK_EX); 
      if ($ret !== FALSE) { 
       header('Location: thanks.html'); 
       exit; 
      } 
     } 
    } 
} 
?> 

답변

0

자바 스크립트 또는 jQuery를 사용하여 AJAX로 요청을 보내주십시오.

자바 스크립트와

: jQuery로

<script type="text/javascript"> 
function loadXMLDoc() { 
    var xmlhttp; 

    if (window.XMLHttpRequest) { 
     // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp = new XMLHttpRequest(); 
    } else { 
     // code for IE6, IE5 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 4) { 
      if(xmlhttp.status == 200){ 
       //Request worked, Do something 
       document.getElementById("myDiv").innerHTML = xmlhttp.responseText; 
      } 
      else if(xmlhttp.status == 400) { 
       alert('There was an error 400') 
      } 
      else { 
       alert('something else other than 200 was returned') 
      } 
     } 
    } 

    xmlhttp.open("GET", "ajax_info.txt", true); 
    xmlhttp.send(); 
} 
</script> 

:

$.ajax({ 
    url: "test.php", 
    context: document.body, 
    success: function(){ 
     $(this).addClass("done"); 
    } 
}); 
+0

문제는 내가 개인적인 프로젝트를 위해 그 일을 그래픽 디자이너 해요입니다. PHP로 만들 수있는 기회가 있습니까? 아니면 프로그래머가 될 수 있습니까?하지만 빠르지는 않을 것입니다. – vjordanov