一个不知的session问题。请高手执教。必有重谢 这个我也不是很清楚了, SESSION的问题一直都是乱七八糟的, 经常有一些莫名其妙的问题:( 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不会吧,运行在不同的IE窗口的session是不一样的。你试没试过在别的机器上再次登陆一个用户,会不会把前一个电脑的登陆给冲掉?你的Session是怎么写的?贴出一部分来。 ;;------php.ini--------session.cache_limiter = nocache; set to {nocache,private,public}是不是……试试在文件最开头:<?session_start();session_cache_limiter ("nocache");//...?> 同意楼上的说法。或者这样修改php.inisession.cache_limiter = public 按照楼上的说法去做,把session.cache_limiter分别改成nocache,private,public可在公司局域网里还是正常现象,同一台机器用不同IE以不同的userid登陆还是可以的,并没有出现session覆盖的现象。但在上传至虚拟主机上后,还是不能用一台机器不同的IE以不同的userid登陆,每次都是按照第二次登陆的id把第一次登陆的id给冲掉,但在不同的机器上以不同的userid登陆就是可以的。问题很怪阿。再谢谢各位解答一下 to all:session_cache_limiter ("nocache");是什麼意思????????thanks to all !! to zykj_2000,我们公司是宽带阿,没有用代理。确实问题怪怪的 俩个独立ie窗口的session是不一样的用cookie来记录session信息(干脆直接用cookie)。 我怎么看怎么就怪怪的啊??在我看来好象应该是你公司的不正常吧!我的理解是:在同一台机器上,打开不同IE窗口,SESSION应该是一样的,所以说会冲掉的。 楼上的做个小测试就知道答案了。一般上说是“不同的”。一般情况下,运行两个IESESSION是不同。不过从任何一个“派生”出来的窗口(比如SHIFT点出来的)SESSION就是相同的。 to phpteam(好无聊):公司的环境都是正常按照apache2和php4.0默认设置安装的,两个IE session是可以区别的。 同意Mistruster(弱智d) 还有注意一点就是你所说的不同,是不是自己打开的IE窗口???如果是前一个窗口运行时打开的窗口那样肯定是会冲掉的。 两个无关的窗口,在session.cache_limiter=nocache的情况下,sessionid是不同的。 你的session名字是自定义的吗? 在整个控制过程中有没有涉及到ip地址?你的公司是宽带上网,那么你上网时设的ip地址是internet合法地址还是私有地址(如果是私有地址那么你们公司所有上网机器对外表现为同一个ip地址。)还有,你的浏览器是不是设置了代理服务器? 我遇到类似的问题,linux8.0+php4.2 下,在服务器上打开浏览器运行后,在tmp目录里有一个session号,同时打开另一个浏览器,再看tmp目录,还是那个号,不过部分内容改变;用win2000系统下的ie操作,则有2个对应的session号。不论怎末访问,程序均运行正常。我想是不是session和服务器、浏览器的版本有关。 具体是我怎么能够在本地服务器上进行配置,实现session覆盖的功能。 不知道该怎么实现session覆盖的功能。除非检查IP地址,只要是同一个IP就不允许有第二个Session……在Internet上的网址是什么,方便公开吗? 检查IP的做法不可行,因为现在有很多是代理上网(所有网吧均是这种方式,大部分公司也是这种方式。)他们对外都是同一个IP地址。 to ynredriver:如何是通过nat转换的话也能得到内部地址吗?怎么获取? function GetIP() { $ip = getenv('REMOTE_ADDR'); $ip_ = getenv('HTTP_X_FORWARDED_FOR'); if (($ip_ != "") && ($ip_ != "unknown")) { $ip = $ip_ . "(代理服务器:" . $ip . ")"; } return $ip; } to ynredriver:你那个方法是使用代理服务器上网,我说的是nat,即win2000和win98中那种连接共享方式。 感谢给位了。我现在想知道怎么在我们办公室搭建的php服务器中实现我们网络主机上对session设置的配置方案。另外session过期时间怎么在php语句中体现,来通过php语言来对session的过期时间进行控制 我的做法是:在session中设置一个变量,代表创建时间。在用户每次访问时都检查当前时间与登录时间的差值,如果超过指定时间(2小时)就清除这个session,然后让用户再次登录。 Discuz底部信息怎么修改? 怎么实现点击一个按钮出现浏览文件的窗口啊 一维数组如何存入二维数组 在php中是否有函数对变量操作后可以得到如下字符 穷举问题,谁先回答正确先给谁分,在线等 如何解决这种phpmyadmin 2.7.0-pl1出错 其实phpmyadmin对于复制表的原理是怎样的? 我要问到底......... 怎么解决这个问题(关于分页)? 关于php数据库语句的问题 日期判断 这个程序错在那里,帮我一下~!
你试没试过在别的机器上再次登陆一个用户,会不会把前一个电脑的登陆给冲掉?你的Session是怎么写的?贴出一部分来。
session.cache_limiter = nocache
; set to {nocache,private,public}是不是……试试在文件最开头:
<?
session_start();
session_cache_limiter ("nocache");
//...
?>
或者这样修改php.ini
session.cache_limiter = public
把session.cache_limiter分别改成nocache,private,public
可在公司局域网里还是正常现象,同一台机器用不同IE以不同的userid登陆还是可以的,并没有出现session覆盖的现象。但在上传至虚拟主机上后,还是不能用一台机器不同的IE以不同的userid登陆,每次都是按照第二次登陆的id把第一次登陆的id给冲掉,但在不同的机器上以不同的userid登陆就是可以的。问题很怪阿。再谢谢各位解答一下
用cookie来记录session信息(干脆直接用cookie)。
我的理解是:
在同一台机器上,打开不同IE窗口,SESSION应该是一样的,所以说会冲掉的。
一般上说是“不同的”。一般情况下,运行两个IESESSION是不同。不过从任何一个“派生”出来的窗口(比如SHIFT点出来的)SESSION就是相同的。
两个IE session是可以区别的。
还有注意一点就是你所说的不同,是不是自己打开的IE窗口???
如果是前一个窗口运行时打开的窗口那样肯定是会冲掉的。
你的公司是宽带上网,那么你上网时设的ip地址是internet合法地址还是私有地址(如果是私有地址那么你们公司所有上网机器对外表现为同一个ip地址。)还有,你的浏览器是不是设置了代理服务器?
除非检查IP地址,只要是同一个IP就不允许有第二个Session……在Internet上的网址是什么,方便公开吗?
如何是通过nat转换的话也能得到内部地址吗?
怎么获取?
{
$ip = getenv('REMOTE_ADDR');
$ip_ = getenv('HTTP_X_FORWARDED_FOR'); if (($ip_ != "") && ($ip_ != "unknown"))
{
$ip = $ip_ . "(代理服务器:" . $ip . ")";
} return $ip;
}
你那个方法是使用代理服务器上网,我说的是nat,即win2000和win98中那种连接共享方式。
在session中设置一个变量,代表创建时间。在用户每次访问时都检查当前时间与登录时间的差值,如果超过指定时间(2小时)就清除这个session,然后让用户再次登录。