if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
\t
header("Location: final.html");
}
?>
我有一個形式完成時執行的腳本,但我不希望這樣的腳本在瀏覽器的URL部分來展示,所以我希望它無論是在後臺運行或即使腳本未完全完成,也立即關閉。
我該如何做到這一點?
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
\t
header("Location: final.html");
}
?>
我有一個形式完成時執行的腳本,但我不希望這樣的腳本在瀏覽器的URL部分來展示,所以我希望它無論是在後臺運行或即使腳本未完全完成,也立即關閉。
我該如何做到這一點?
您需要Javascript Ajax。 在後臺運行PHP的最佳實踐是使用Ajax。
一個很好的做法是:
HTML - > JS/AJAX - > PHP HTML < - JS/AJAX < - PHP
我該怎麼做,我從來沒有使用ajax –
這在Stackoverflow,這裏經典之一被回答這麼多次:[link] http://stackoverflow.com /問題/ 9713058 /發送-後數據用-的XMLHttpRequest [/鏈接]。與jQuery是很容易,像這樣:[link] http://stackoverflow.com/questions/5004233/jquery-ajax-post-example-with-php [/ link] – rob1337
您可以通過使用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才能使用代碼。
你可以嘗試使用Ajax那 – NullDev
怎麼樣?我從來沒有使用Ajax –
將表單發送到處理腳本> process>'header()'重定向到另一個頁面;處理腳本URL不會出現在地址欄或瀏覽器的緩存中。 – CD001