php - 在 header() 之前完成运行 php 函数

标签 php mysql

我的网站上有一个需要填写的表单(包括文件导入输入和其他几个标准文本输入)。
我使用 $_POST() 检索输入数据,然后调用 php 函数将数据保存到 mysql 数据库中。

一旦表单完成并按下提交按钮( <form action="" method="post" enctype="multipart/form-data"> ),我希望运行所有 php 函数,然后然后重定向到另一个页面(使用 header() )。

问题是我们必须输入header()在调用我们的 php 函数之前,否则 php 返回错误。因此header()放在 php 函数之前。

这就是它的样子:

if(isset($_POST)){
header("Location: other_page.php");

save_name($_post['name']);
//... more php functions to save data(including input file)
}

大多数时候这不是问题,但有时页面似乎在所有 php 函数正确运行之前就被重定向了,这显然是一个大问题......

我认为这是由于函数运行时间太长(即输入文件太大?)而导致的,并且重定向在函数有时间完成之前生效。

如果我能得到一些帮助来解决这个问题,那就太好了! =)

最佳答案

The problem is we must put header() before calling our php function or else php returns error.

没有。你只需要启用PHP的output buffering功能,这很可能会解决您的问题。

关于php - 在 header() 之前完成运行 php 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40291163/

相关文章:

php - 有没有更好的方法来更改 PHP 中的 DOMElement->tagName 属性?

mysql - nodejs- TypeError : connection. 连接不是函数

mysql - 需要帮助开发一个 mysql View 来分割逗号分隔的行值

mysql - 计算两个表的行数

c# - 外键关系不会出现在带有 mysql 数据库的 edmx 中,带有带有数据库的 asp mvc

javascript - 如何将 href 变量传递给 JavaScript

php - XMLWriter 与 SimpleXML。哪个更快?

php - 从3个表中按时间对mysql结果进行排序

php - 使用 php ://input 内存耗尽

php - 我可以在不影响 future 升级的情况下自定义 Magento app/code/core 文件夹吗?