2017-04-05 33 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/AJAX - > PHP HTML < - JS/AJAX < - PHP

+0

我該怎麼做,我從來沒有使用ajax –

+0

這在Stackoverflow,這裏經典之一被回答這麼多次:[link] http://stackoverflow.com /問題/ 9713058 /發送-後數據用-的XMLHttpRequest [/鏈接]。與jQuery是很容易,像這樣:[link] 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); 
      } 
    }) 
}) 

你的PHP腳本,我叫get_message.php

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

?> 

這應該然後輸出The sent string is Test Variable

讓我知道這個答案是否有助於您或您有任何問題。請注意,我必須包含jquery才能使用代碼。