2017-04-05 17 views
-3

ページをバックグラウンドで実行するにはどうすればいいですか?

if (!$mail->send()) { 
 
    echo "Mailer Error: " . $mail->ErrorInfo; 
 
} else { 
 
\t 
 
    header("Location: final.html"); 
 
} 
 
?>

私が完了したときには、スクリプトを実行するフォームを持っているが、私はそのスクリプトは、ブラウザのURL部分に表示したくないので、私はそれがバックグラウンドで実行したりするかしたいですスクリプトが完全に完了していなくても即座に終了します。

どうすればこの問題を解決できますか?

+1

あなたはそのためにAjaxを使うことができます – NullDev

+0

?私は決してAjaxを使用しませんでした。 –

+1

処理スクリプトにフォームを投稿する> process> 'header()'別のページにリダイレクトします。処理スクリプトのURLはアドレスバーまたはブラウザのキャッシュに表示されません。 – CD001

答えて

0

Javascript Ajaxが必要です。 バックグラウンドでPHPを実行するベストプラクティスは、Ajaxを使用することです。

お勧めします:

HTML - > JS /アヤックス - > PHP HTML < - JS/Ajaxの< - PHP

+0

私はそれを行うことができます、私は決してajaxを使用した –

+0

これは、古典的な1つStackoverflowで何度も答えられました:[リンク] http://stackoverflow.com/questions/9713058/send-post-data-using-xmlhttprequest [/ link] jQueryの方がずっと簡単です:[リンク] http://stackoverflow.com/questions/5004233/jquery-ajax-post-example-with-php [/ link] – rob1337

0

あなたは、AJAXを使用することによって、これを達成することができます。例えば、ある人がフォームに記入されると、ボタンを押すことができます。次に、このボタン用のクリックリスナーを設定し、ajax呼び出しを実行します。 ajaxメソッドは、PHPスクリプトにデータを送信し、PHPスクリプトが実行され、ページをリロードせずにajaxメソッドに戻るために設定した値を返します。結果は任意の方法で操作できます。たとえば、

フォーム送信ボタン。

<button id="submit">Submit Form</button> 

javascriptリスナーとajaxメソッド。

//This is executed whenever the submit buttom is clicked. 
$("#submit").bind("click", function() { 

     var myVar="Test Variable"; 

    $.ajax({ 
     type: 'POST', 
      url: "get_message.php",//your php script 
      data: {myVar:myVar},//your variable 
      success: function(result){ 
       alert(result); 
      } 
    }) 
}) 

私は出力The sent string is Test Variableその後、このget_message.php

<?php 
$var = $_POST['myVar'];//get sent variable from ajax using post method 
echo "The sent string is " . $var; 

?> 

をすべきであると呼ばれるPHPスクリプト。

この回答があなたに役立つか、問題があるかどうか教えてください。コードを動作させるにはjqueryをインクルードする必要があります。

関連する問題