我知道SESSION可以过期,但是$ _REQUEST / $ _ POST / $ _ GET变量怎么样?
我的问题是,我有用户提交信息,我需要在将信息插入数据库之前为该信息设置ID。现在我考虑使用SESSION,但问题是如果会话在用户将信息提交到数据库之前到期,则会丢失我需要的ID。将$ _REQUEST / $ _ POST / $ _ GET变量传递给它是一个更好的解决方案,还是应该使用变量并重新调整脚本?
我也在使用SESSION,因为很容易从函数内部调用而不传入它。
function setInfo() {
// no need to pass I can call from within
$Id = $_SESSION['Id'];
}
这是好习惯吗?
编辑: 作为一个cookie会更好吗?
答案 0 :(得分:1)
我的第一个问题是,您是否无法插入行并使用@@ IDENTITY检索自动递增ID?你不能真正“存储”$ _REQUEST,$ _POST或$ _GET中的数据,这些数据只是从客户端提交页面,表单,链接请求到服务器到完成并发送到输出结果页面时的数据。无论哪种方式,您很可能会使用$ _SESSION空间来存储需要携带到其他页面的信息。
答案 1 :(得分:0)
您可以在表单中使用隐藏字段,并将隐藏字段的值存储在数据库中(“可能或非常可能”,您将需要一个单独的表格)。当用户提交表单时,您检查数据库中是否存在隐藏var的已提交值。
处理来自特定值的请求时,请将其从数据库中删除。