2016-05-28 19 views
1

連絡フォームが成功した後に元のサイトにリダイレクトしたいのですが、私の連絡フォームが成功したときに成功メッセージを表示したい空白のページが...連絡フォームPHPが成功し、成功メッセージを受け取った後、ユーザーを元のサイトにリダイレクト

これは私のHTMLフォーム..です助けを事前にありがとう:

<form id="form" class="blocks" action="validateform.php" method="post" onkeyup="foo();" name="newForm"> 
       <p style="color: #ff0000;padding: 0 0 0 6.4%">Required fields(*)</p> 
     <p> 
      <label>Name *:</label> 
      <input type="text" class="text" name="name" /> 
     </p> 
     <p> 
      <label>E-mail *:</label> 
      <input type="text" class="text" name="email" /> 
     </p> 
     <p> 
      <label>Subject :</label> 
      <input type="text" class="text" name="phone" /> 
     </p> 
     <p class="area"> 
      <label>Message *:</label> 
      <textarea class="textarea" name="message"></textarea> 
     </p> 
     <p> 
      <label>&nbsp;</label> 
      <input type="submit" class="btn" value="Send" /> 
     </p> 
    </form> 

そして、これは私のPHPです:

<?php 
if(isset($_POST['email'])) { 

$email_to = "mymail"; 

$email_subject = ""; 

    function died($error) { 
    // edw mpainei to mhnuma p tha emfanisei se periptwsh error 
    echo "We are very sorry, but we find some error(s) in your form<br/>  <br/>"; 
    echo $error."<br /><br />"; 
    echo "Please go back and fix these errors.<br /><br />"; 
    die(); 
    } 

    if(!isset($_POST['name']) || 
    !isset($_POST['email']) || 
    !isset($_POST['message'])) {  
    } 

$name = $_POST['name']; 
$email_from = $_POST['email']; 
$message = $_POST['message']; 

$error_message = ""; 
$email_exp = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; 
    if(!preg_match($email_exp,$email_from)) { 
     $error_message .= '<br>The Email Address you entered does not appear to be valid.<br />'; 
    } 
    $string_exp = "/^[A-Za-z .'-]+$/"; 
    if(!preg_match($string_exp,$name)) { 
    $error_message .= '<br>The First Name you entered does not appear to be valid.<br />'; 
} 
    if(strlen($message) < 2) { 
    $error_message .= '<br>The Comments you entered do not appear to be valid.<br />'; 
} 
    if(strlen($error_message) > 0) { 
    died($error_message); 
    } 
     $email_message = "Form details below.\n\n"; 

function clean_string($string) { 
    $bad = array("content-type","bcc:","to:","cc:","href"); 
    return str_replace($bad,"",$string); 
    } 

    $email_message .= "Name: ".clean_string($name)."\n"; 
    $email_message .= "Email: ".clean_string($email_from)."\n"; 
    $email_message .= "Message: ".clean_string($message)."\n"; 

    $headers = 'From: '.$email_from."\r\n". 
'Reply-To: '.$email_from."\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 
    mail($email_to, $email_subject, $email_message, $headers); 
    ?> 

    <?php 
    } 
    die(); 

    ?> 

答えて

0

あなたをF

die(); 

変更、それを::もちろん

die('<meta http-equiv="refresh" content="0; url=http://example.com?bob=youruncle" />'); 

、あなたが欲しいものにボブ=叔父キー=値を変更するコードはちょうど言う瞬間にあなたのPHPのお問い合わせフォームの郵送コードを、inish - ナンセンス文字列、またはcontact = sentなど。より多くの空想であることを、

$(document).ready(function(){ 

    var sendMsg = "<?php echo $message; ?>"; 
    if (sendMsg.length){ 
     alert(sendMsg); 
    } 

}); //END document.ready 

のか:ページの

<?php 

    if (isset($_GET['bob']){ 
     $message = 'Contact form sent!'; 
    }else{ 
     $message = ''; 
    } 

のJavaScript/jQueryのを:

次に、あなたのindex.phpファイルの先頭に、追加

$(document).ready(function(){ 

    var sendMsg = "<?php echo $message; ?>"; 
    if (sendMsg.length){ 
     setTimeout(function(){ 
      $('body').append('<div id="thx" style="display:none;position:absolute;top:20%;left:30%;font-size:5rem;background:wheat;z-index:2;">Thanks for contacting us!</div>'); 
      $('#thx').fadeIn(700,function(){ 
       setTimeout(function(){ 
        $('#thx').fadeOut(700); 
       },3000); 
      }); 
     },3000); 
    } 

}); //END document.ready 
+0

ありがとうございました – DopeAt

+0

うれしい私は助けることができた。 – gibberish

関連する問題