2016-05-06 13 views
-1

少し問題があります。 私はコンタクトフォームを持っているウェブサイトを持っています。私はそれを動作させるform.phpファイルを持っています。このファイルでは、このメッセージで別のページに私を連れて行く代わりに "送信していただきありがとうございます"というポップアップウィンドウを表示するjs関数を呼び出すエコーがあります。問題は、このポップアップウィンドウで[OK]をクリックすると、空のページform.phpにリダイレクトされることです。ここで空白ページにリダイレクトするPHP

はコードです:

<?php 

$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$formcontent="From: $name \n Email: $email \n\n Message: $message"; 
$recipient = "[email protected]"; 
$subject = "Contact Form TP Czech"; //This is the email subject in " " 
$mailheader = "From: $email \r\n"; 



mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 
echo '<script>popUp()</script>'; 


?> 
+0

あなたは何を期待しましたか? form.phpに投稿して、そこにポップアップを表示しています。ポップアップをクリックするとform.phpになります。空であると言います。 – yBrodsky

+1

あなたはどこにでも 'popUp()'を定義していません。フォーム要求が新しいページ要求をトリガーすることを忘れないでください。かつてリダイレクトされていた以前のHTMLまたはJavaScriptはありません。 – mario

+0

なぜメッセージに警告しないでください。 like、 '(メール受信者、$件名、$ formcontent、$ mailheader)){}} else {echo" "}' –

答えて

1

あなたは、このようなコードを持っている必要があり、ポップ内のコンテンツを表示します。

if(mail($recipient, $subject, $formcontent, $mailheader)){ 
     echo '<script> 
     var myWindow = window.open("", "MsgWindow", "width=200,height=100"); 
     myWindow.document.write("<p>Message sent!</p>");</script>'; 
     }else{ 
     echo '<script> 
     var myWindow = window.open("", "MsgWindow", "width=200,height=100"); 
     myWindow.document.write("<p>Message Not sent!</p>");</script>'; 
     } 

open()メソッドを使用してポップアップウィンドウを呼び出すことができます。

アドバンス統合:
またsetTimeout()機能とclose()機能を使用して時間が経過した後開いているウィンドウを閉じることができます。

//This will close the popup window after 10 sec. 
    setTimeout(function(){ 
     myWindow.close(); 
    }, 10000); 
関連する問題