2014-09-05 71 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