例如
| 代码如下 | 复制代码 |
| if(!isset($_COOKIE['user'])) { setcookie('user',$userName,time()+60*60*24*300); } | |
在Smarty中,我们可以用她的保留变量来读取:
| 代码如下 | 复制代码 |
| {$smarty.cookies.user} | |
至于用Smarty来设置Cookie变量就没有必要了,那是后端做的事!呵呵。
但刚才在调试的时候发现,用Smarty的保留变量居然读不到Cookie的值。我的代码是这样的:
| 代码如下 | 复制代码 |
| <{if $smarty.cookies.loginuser eq ''}> 用户登录 <{else}> 欢迎:<{$smarty.cookies.loginuser}> <{/if}> |
|
结果始终就是取不到loginuser这个Cookie,一直显示用户登录!
幸好有Chrome的开发人员工具,查看Ajax的加载的内容,查看元素的CSS等都是非常方便的!如下图
原来是Path路径不对,最开始没有在setcookie()中加路径参数,直接就是
| 代码如下 | 复制代码 |
| setcookie('loginuser',$user,time()+30*24*60*60); | |
而setcookie()的默认路径是当前目录下,如果其他目录要访问这个Cookie是访问不到的!
如果该参数设为 '/' 的话,cookie 就在整个 domain 内有效,如果设为 '/foo/',cookie 就只在 domain 下的 /foo/ 目录及其子目录内有效,例如 /foo/bar/。默认值为设定 cookie 的当前目录。
改成这样就可以了:
| 代码如下 | 复制代码 |
| setcookie('loginuser',$user,time()+30*24*60*60,'/'); | |
虽然这个很简单,其实就是个路径的问题
疯狂医院达什医生中文版(Crazy Hospital)
疯狂医院达什医生最新版是一款医院模拟经营类游戏,逼真的场景画
宝宝庄园官方版
宝宝庄园官方版是一款超级经典好玩的模拟经营类型的手游,这个游
桃源记官方正版
桃源记是一款休闲娱乐类的水墨手绘风格打造的模拟经营手游。玩家
长途巴士模拟器手机版
长途巴士模拟器汉化版是一款十分比真好玩的大巴车模拟驾驶运营类
房东模拟器最新版2024
房东模拟器中文版是一个超级有趣的模拟经营类型的手游,这个游戏