我在图片验证中,将验证码存入session中,由另一个页面读取。
在前端页面,由xmlhttprequest异步读取的时候没问题,图片刷新一次,返回的session值也更新一次。问题在于,我在网页中输入上述读取验证码的http时,无论怎么刷新session值一直显示不变,清空cookie也是这样。我试着尝试向代码中加入session_id(),echo出来的id一直没有变。
按照我的理解,作为全局变量,页面应该是向服务器读取session变量,当另一页面更新session时,其它页面的同一session值应该是同步更新的。所以,xmlhttprequest异步的结果是正常的,但怎么改由http读取同一页面里验证码就不变了?!
在前端页面,由xmlhttprequest异步读取的时候没问题,图片刷新一次,返回的session值也更新一次。问题在于,我在网页中输入上述读取验证码的http时,无论怎么刷新session值一直显示不变,清空cookie也是这样。我试着尝试向代码中加入session_id(),echo出来的id一直没有变。
按照我的理解,作为全局变量,页面应该是向服务器读取session变量,当另一页面更新session时,其它页面的同一session值应该是同步更新的。所以,xmlhttprequest异步的结果是正常的,但怎么改由http读取同一页面里验证码就不变了?!
设置后我运行a.php,注册$_SESSION['a'];再新开页面打开b.php,echo $_SESSION['a']。却提示Undefined index: a...
你是否开启了session.auto_start.
不是的,对于session这种全局变量,单独打开也是可以的。
不过,不明白session为什么还叫超级全局变量。我希望的是像$_SERVER一样,每个页面单独调用都能取到值。如果session.auto_start=0,会不会有这样效果呢?
只是想知道,session的运行机制是怎样的。