如何让我的页面在后台运行?
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