关于表单提交后台函数php的运行

关于表单提交后台函数php的运行,php,javascript,background,server-side,Php,Javascript,Background,Server Side,我正在寻找一种方法来启动表单提交功能,不会让浏览器窗口等待结果 例如: 用户填写表单并按submit,表单中的数据通过javascript进入数据库,php中的一个函数需要几秒钟才能启动,但我不希望用户等待该函数的结束。我希望能够把他带到另一个页面,让这个函数在服务器端完成它的工作 有什么想法吗 谢谢 谢谢你的回复 我得到了ajax部分。但是我不能调用ajax并让浏览器移动到另一个页面 这就是我想要的 -用户填写表单并提交 -传递到数据库的表单的结果 -长时间恼人的进程功能启动 -用户继续访问

我正在寻找一种方法来启动表单提交功能,不会让浏览器窗口等待结果

例如: 用户填写表单并按submit,表单中的数据通过javascript进入数据库,php中的一个函数需要几秒钟才能启动,但我不希望用户等待该函数的结束。我希望能够把他带到另一个页面,让这个函数在服务器端完成它的工作

有什么想法吗

谢谢


谢谢你的回复

我得到了ajax部分。但是我不能调用ajax并让浏览器移动到另一个页面

这就是我想要的

-用户填写表单并提交 -传递到数据库的表单的结果 -长时间恼人的进程功能启动 -用户继续访问站点的其余部分,不受“长流程功能”状态的影响


顺便说一下,在有人提议之前。不,它不能由cron作业完成

最常用的方法是:

exec("$COMMAND > /dev/null 2>&1 &");

最常用的方法是:

exec("$COMMAND > /dev/null 2>&1 &");
这正是AJAX(异步JavaScript+XML的缩写)的用途

它允许您使用客户端代码进行编码,并向服务器发送异步请求,这样用户的浏览器就不会受到整个页面请求的干扰

网络上有很多关于AJAX的信息,所以深呼吸,开始谷歌搜索吧

这正是AJAX(异步JavaScript+XML的缩写)的用途

它允许您使用客户端代码进行编码,并向服务器发送异步请求,这样用户的浏览器就不会受到整个页面请求的干扰


网络上有很多关于AJAX的信息,所以深呼吸,开始谷歌搜索吧

听起来您想使用AJAX(异步Javascript和XML-google)提供的一些功能

基本上,你会有一个包含内容的页面。当用户单击按钮时,javascript将用于将数据发布到服务器并开始处理。同时,javascript可能会从服务器加载一个页面,然后显示它(例如,加载数据,然后用新页面替换DIV的内容)

这类事情是AJAX背后的前提,当您有一个web页面同时做多件事情时,您到处都可以看到AJAX


值得注意的是:这并不意味着脚本“在服务器的后台”运行。您的web浏览器仍在维护与web服务器的连接-这意味着代码在客户端的“后台”运行。“后台”实际上是指“与其他HTTP请求并行处理HTTP请求,以提供“后台”运行过程的感觉”

听起来您想使用AJAX(异步Javascript和XML-google)提供的一些功能

基本上,你会有一个包含内容的页面。当用户单击按钮时,javascript将用于将数据发布到服务器并开始处理。同时,javascript可能会从服务器加载一个页面,然后显示它(例如,加载数据,然后用新页面替换DIV的内容)

这类事情是AJAX背后的前提,当您有一个web页面同时做多件事情时,您到处都可以看到AJAX


值得注意的是:这并不意味着脚本“在服务器的后台”运行。您的web浏览器仍在维护与web服务器的连接-这意味着代码在客户端的“后台”运行。我们所说的“后台”实际上是指“与其他HTTP请求并行处理HTTP请求,给人一种“后台”运行进程的感觉”

啊,好吧,你本质上是在问,PHP是否支持线程,一般的答案是否定的。。。然而

有一些技巧可以模仿这种行为,其中一个在上面突出显示,涉及到在服务器上分出一个单独的进程,这可以通过多种方式实现,包括:

exec()
方法。你也可以看看这里


我还看到有人试图在脚本执行到一半时强制刷新输出缓冲区,试图强制将响应返回到客户端,我不知道这种方法有多成功,但可能其他人会知道一些关于这一点的信息。

啊,好吧,你基本上是在问,PHP支持线程吗,一般的答案是否定的。。。然而

有一些技巧可以模仿这种行为,其中一个在上面突出显示,涉及到在服务器上分出一个单独的进程,这可以通过多种方式实现,包括:

exec()
方法。你也可以看看这里


我还看到有人试图在脚本执行到一半时强制刷新输出缓冲区,试图强制将响应返回到客户端,我不知道这种方法有多成功,但可能其他人会知道一些关于这一点的信息。

使用AJAX调用php脚本,并在脚本顶部打开

这样,如果他们离开页面,脚本将继续在后台运行。你也可以使用

set_time_limit(0);

要设置时间限制,如果您知道您的脚本需要一段时间才能完成,那么这很有用。

使用AJAX调用php脚本,并在脚本顶部启用

这样,如果他们离开页面,脚本将继续在后台运行。你也可以使用

set_time_limit(0);

要设置时间限制,如果您知道您的脚本需要一段时间才能完成,那么这很有用。

如何在代码中设置时间限制?hugo,这是服务器端代码,即响应浏览器请求并驻留在服务器上的代码。您正在谈论客户端代码(可能是javascript),在这种情况下,请参阅