2014-09-05 76 views
-1

我從表單打印PDF時遇到問題。PHP:刪除5分鐘後的變量值

當新用戶去我的網站,並填寫表格,然後點擊提交發送數據時,我需要得到在PDF文件中的該數據,這樣我就可以獲取數據從該用戶: -

$lastid = mysql_insert_id(); 

但是這個我覺得不好,當其他用戶進入這個表單並點擊打印PDF時,他會得到最後一個ID。

那麼我能做些什麼來刪除最後一個ID,並且不能打印任何其他用戶的任何數據?

+1

難爲約[是mysql_insert_id安全使用?](http://stackoverflow.com/questions/5069806/is-mysql-insert-id-safe-to-use) – 2014-09-05 17:50:41

+0

有沒有辦法一些其他用戶會得到一個有效的ID與此。 – 2014-09-05 17:51:50

+0

設計一個不需要最後插入ID的解決方案。 – mstrthealias 2014-09-05 17:53:43

回答

0

我假設你正在獲取數據到$ lastid因爲mysql查詢執行,如果這樣你的查詢將被執行每次和結果將根據用戶和他們的要求而改變。

但是,如果你仍然想這樣做,你可以使用php的unset()函數。

unset()銷燬指定的變量。函數內部unset()的行爲可能因您嘗試銷燬的變量類型而異。如果一個全局變量在函數內部是unset(),那麼只有局部變量被銷燬。調用環境中的變量將保持與調用unset()之前相同的值。

要取消設置()函數中的全局變量,然後使用$ GLOBALS數組來實現:

<?php 
function foo() 
{ 
unset($GLOBALS['bar']); 
} 

$bar = "something"; 
foo(); 
?> 

完整的文檔,可以發現在here

+0

mmm對我不好,因爲在$'lastid'之後使用'unset'刪除它的值,並且用戶不能打印PDF,因爲'$ lastid'已被刪除 – Kam 2014-09-05 18:30:46

+0

你說你想刪除變量的內容後五分鐘,所以你應該創建一個函數,在五分鐘後調用未設置的函數,直到你的變量將具有該值。 – 2014-09-05 18:33:49

+0

好的,5分鐘後如何刪除?這是我的帖子 – Kam 2014-09-05 18:43:15