以下这段代码保存为test.php
<?php session_start(); var_dump($_SESSION['test']); echo '<br />'; $_SESSION['test'] = $_SERVER['PATH_INFO']; var_dump($_SESSION['test']); ?> <img src="notice" />
在本地测试这段代码,访问url http://localhost/test.php/a
$_SERVER['PATH_INFO']的值是'/a',赋值后$_SESSION['test']的值是'/a',页面刷新后,在页面开头输出$_SESSION['test']理论上应该也是'/a',可是$_SESSION['test']变成了'notice'。
其中notice的值同<img src="notice" />中src的值,src的值改为其他值相应也会输出同样的值
如图:
关键在
浏览器访问的时候加载了/test.php/notice
这时候就触发了test.php,
所以即使你再刷新, 第一次打印的也是notice