如何让我的页面在后台运行?

问题描述:

如何让我的页面在后台运行?

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

您需要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

您可以通过使用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才能使用代码。