如何通过两个页面传递 post?

How do I pass a post through two pages?

在 TCPDF 中,我无法在生成 PDF 的页面上放置任何数据库查询。为了解决这个问题,我决定尝试将操作分开,所以第一个操作是将一些细节保存到数据库中。第二个动作是去PDF生成器最后制作PDF。所以页面的顺序是:

1- 用户填写表格 -> 2- 数据库获取必要的 post 详细信息 -> 3- TCPDF 生成 PDF

有没有办法让我的$_POST轻松通过第二页和第三页? (我以前使用隐藏输入字段来存储数据,但我有数百个,这次似乎非常不切实际)

谢谢

在每个页面上创建多个隐藏字段来存储您的初始 $_POST 数据并不现实。

您可以使用 $_SESSION 而不是 $_POST。通过使用会话,您的数据将存储在页面之间。因此,在表单的第一个 post 之后,将所有数据保存在一个会话中。

示例:

$_SESSION['name'] = $_POST['name'];

生成 PDF 时,您将使用变量 $_SESSION['name']

不要忘记在使用后取消设置会话,例如:unset($_SESSION['name']);

PS:如果您觉得添加所有字段太麻烦,只需执行以下操作:

$_SESSION['form'] = $_POST;

您可以像这样访问生成器中的所有表单元素:

$_SESSION['form']['nameOfYourField'];

更多信息:http://php.net/manual/en/reserved.variables.session.php

您可以 ajax POST 向数据库请求您填写的字段。 然后将您的页面重定向到 pdf 生成。