Home  >  Article  >  Backend Development  >  php中a href 和直接输入地址的区别解决思路

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

WBOY
WBOYOriginal
2016-06-13 10:13:201409browse

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数据。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn