2016-04-28 36 views
0

在TCPDF中,我無法在生成PDF的頁面上放置任何數據庫查詢。爲了解決這個問題,我決定嘗試將操作分開,因此第一個操作是將一些細節保存到數據庫中。第二個動作是轉到PDF生成器以最終生成PDF。所以頁面的順序將是:如何通過兩頁文章?

1 - 用戶填寫表格 - > 2-數據庫獲取關鍵崗位的詳細信息 - > 3- TCPDF產生PDF

有沒有一種方法可以輕鬆地通過我的$ _ POST通過第二和第三頁? (我用隱藏的輸入字段來存儲數據之前,但我有幾百個,它似乎非常不切實際的這段時間)

感謝

+0

爲什麼不在數據插入時創建PDF。那樣你只需要一個'$ _POST'? – Daan

+0

TCPDF需要動作頁面來生成PDF,它並不真的讓你在頁面上做任何事情(至少我認爲) – ERushforth

+0

我知道,但你可以生成PDF>保存在服務器上,並張貼詳細信息數據庫在相同的POST。 – Daan

回答

1

您可以使用填寫的字段對數據庫發出ajax POST請求。 然後將您的頁面重定向到pdf代。

+0

這很好用,我是發送ajax來做數據庫的東西和PHP來創建PDF。謝謝!! – ERushforth

+0

@ERushforth歡迎:) – ashwinbhy

2

每個頁面上創建多個隱藏字段來存儲您的初始$_POST數據不真的很現實。

您可以使用$_SESSION而不是$_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

+0

請分享評論@ downvoter .. – Boratzan

+1

如果他將每個'$ _POST'重命名爲'$ _SESSION',這基本上就是你說的那樣會起作用嗎?沒有!請提供更多信息,然後只是說'$ _SESSION'而不是'$ _POST' – Daan

+0

@Daan更新了答案。 – Boratzan