Maison  >  Article  >  développement back-end  >  php中a href 和直接输入地址的区别解决思路

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

WBOY
WBOYoriginal
2016-06-13 10:13:201409parcourir

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn