这两天刚学了php的session,但是还有几个问题一直让我很迷茫,希望高手不吝赐教,下边是我的疑惑……第一、新建一个登陆页面,login.php
当验证用户名和密码都通过后,运行如下代码session_start();
$user=$uname; //$uname是登陆时在表单输入的用户名
$_SESSION ['user']=$user;
echo "<a href='next.php'>下一页</a>";点击链接进入next.phpsession_start (); echo '传递的session变量的值为:'.$_SESSION['user']; 我想问的是,在这种情况下,我没有用url传递sessionid 但是next.php页面可以获取session变量user的值,如果是这样的话,那么我们用url传递sessionid还有什么用呢?
第二、还是问一下sessionid的问题,假如我设置了session的周期,当登陆成功后,设置了session,然后我关闭浏览器,再次打开浏览器,进入一个新的页面,在session周期没有过期的情况下,服务器如何判断我已经登陆了,还是我还需要重新登录一次?
当验证用户名和密码都通过后,运行如下代码session_start();
$user=$uname; //$uname是登陆时在表单输入的用户名
$_SESSION ['user']=$user;
echo "<a href='next.php'>下一页</a>";点击链接进入next.phpsession_start (); echo '传递的session变量的值为:'.$_SESSION['user']; 我想问的是,在这种情况下,我没有用url传递sessionid 但是next.php页面可以获取session变量user的值,如果是这样的话,那么我们用url传递sessionid还有什么用呢?
第二、还是问一下sessionid的问题,假如我设置了session的周期,当登陆成功后,设置了session,然后我关闭浏览器,再次打开浏览器,进入一个新的页面,在session周期没有过期的情况下,服务器如何判断我已经登陆了,还是我还需要重新登录一次?
关闭浏览器,session没有过期。但是没法启用原来的会话了【默认情况session.cookie_lifetime=0】,会创建不同的session_id
但是多标签浏览器,一般标签间共享cookie,在session有效期内,无需再次登录
session虽然没有过期,但是你重新打开页面时候的sessionid 不是原来的sessionid 了,也就是说你重新打开它会新生成一个sessionid ,所以你要服务器判断你登陆的话,需要把登陆信息存在cookie里面,并在服务端判断
菜菜的问一句,如何firebug……