【问题标题】:session variables lost between pages or use same variables页面之间的会话变量丢失或使用相同的变量
【发布时间】:2011-06-02 22:39:35
【问题描述】:

昨天我从你那里学到了很多东西,尤其是从 Marc 那里,我的问题得到了解决 (session variables lost between pages or use same variables)。

但现在我继续问:我不想在页面之间使用 Session 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"

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

【问题讨论】:

  • 所以您想在不使用 cookie 或 trans_sid 方法的情况下存储会话数据?为什么不只使用 cookie?
  • 您如何为不同用户测试会话功能?
  • 亲爱的朋友们,当我只使用 cookie 时,我遇到了一个问题:不同的用户在同一个应用程序中使用相同的会话变量。 session.use_cookies = 1 session.name = PHPSESSID session.use_trans_sid = 1
  • 我在 FF 和 IE 中都测试过这个案例。在同一浏览器的选项卡和新浏览器上为不同用户启动应用程序时,使用相同的会话变量。
  • @user222333:所以您使用相同的浏览器(例如 FF IE)为多个用户并行测试您的应用程序,而不是不同的浏览器(例如 FF IE)?

标签: php session variables


【解决方案1】:

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

【讨论】:

  • 据我所知,ini 必须如下所示......我说的对吗? ;session.name = PHPSESSID session.use_cookie=1 session.use_trans_sid = 0
【解决方案2】:

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

session.use_cookies = 1

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

session.cookie_lifetime = 600 ; 10 minutes

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

【讨论】:

  • 亲,不能同时使用吗?
  • 可以用什么?您还不清楚自己的问题是什么?
  • 亲爱的 Lonesomeday,是否可以检查我昨天发送的旧问题:stackoverflow.com/questions/4579185/…
猜你喜欢
  • 2012-06-15
  • 2023-03-30
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
  • 2016-07-02
  • 2011-04-15
相关资源
最近更新 更多