>  기사  >  백엔드 개발  >  php中a href 和直接输入地址的区别解决思路

php中a href 和直接输入地址的区别解决思路

WBOY
WBOY원래의
2016-06-13 10:13:201409검색

php中a href 和直接输入地址的区别
大家谁清楚这两者的区别,貌似在传好多值的时候两者的区别还挺大。
比如传session,
如在客户端不关闭cookie的情况下,192.168.0.1/index.php中定义了一个session['ss']='ss',那么不管是通过 a href 方式打开192.168.0.1/info.php,还是直接在地址栏输入192.168.0.1/info.php,在info.php中都能获得session['ss']='ss'.
但是在客户端关闭cookie,但是php.ini中设置session.use_trans_sid 为1 的情况下就出现问题了,
通过A href打开192.168.0.1/info.php的话能取到session,但是直接在地址栏输入192.168.0.1/info.php就获不到session了,
大家谁知道是怎么回事啊?

------解决方案--------------------
session_start()的时候默认会检查请求过来的http cookie头里有无session id,如果客户端屏蔽cookie,那么session id就无法利用cookie头传递,就会检查url里是否有sid参数(php.ini中设置session.use_trans_sid 为1的作用,url里直接传递session id),有则根据sid参数值(session id)载入相应的session数据。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.