会话变量在页面之间丢失或使用相同的变量

时间:2011-01-03 16:32:29

标签: php session variables

昨天我从你身上学到了很多东西,特别是来自Marc,我的问题得到了解决(session variables lost between pages or use same variables)。

但现在我继续问:我不想在页面之间使用会话ID(session.use_trans_sid = 1)。但是我也不想在同一个应用程序中为不同的用户使用相同的会话变量,也不希望同一用户的页面之间丢失会话变量。

有可能吗?如果有,怎么样? 感谢大家的帮助。 最好的问候。

我有Wamp Server(2.2.11)和PHP(5.2.9.-2)。

我的php.ini会话设置如下:

[Session]
session.save_handler = files
session.save_path = "c:/wamp/tmp"
session.use_cookies = 0
;session.cookie_secure =
;session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly = 
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor     = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = 0
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
;session.entropy_length = 16
;session.entropy_file = /dev/urandom
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 1
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

我通过使用cookies在php脚本中设置不同的session_name解决了这个问题。

2 个答案:

答案 0 :(得分:0)

通过使用session.use_cookie=1,它将为每个用户生成不同的会话ID。

答案 1 :(得分:0)

进行会话的最佳方式是使用Cookie。

session.use_cookies = 1

如果您发现人们正在使用其他人的会话(可能是通过使用尚未注销的计算机),请尝试设置短暂的Cookie生命周期:

session.cookie_lifetime = 600 ; 10 minutes

如果您遇到其他问题,如果您能提供更多详细信息,将会很有帮助。

相关问题