jake老大,还是cookie文件

#1 none110

我在一个control文件中setcookie,然后这个control下所有action都可以读到cookie。
但是为了避免一个文件内的代码太长,回头不好找,我就又弄了个control文件,然后里面的action就读不到cookie类。
伪静态定义的都是在admin/xxx.html这样的样式。。

2011-12-20 16:59:06

#2 jake

还是清理bom,防止空字符输出。

另外,注意一下setcookie的“域”,看看是否是全域的设置。

2011-12-20 17:52:04

#3 none110

是gb2312的,不应该有bom啊,而且我用网站提供的那个bom检测了,没问题

我的程序现在是在二级目录下,调试的时候就是localhost/aaa/这样,使用cookie的目录是
localhost/aaa/bbb/

我开启了伪静态了。在配置文件里配置的是'aaa/ab'=>'ctrl/action'这样的。

和这些有关系吗?

2011-12-20 21:28:12

#4 jake

http://cn.php.net/manual/zh/function.setcookie.php

或许吧,你可以先调成非伪静态的情况,试试看。

另外,空字符也会引起cookie失效的。最好在setcookie之前用ob_clean();函数清除一下空字符

2011-12-20 22:15:47

#5 none110

实用非伪静态是正常的,但是一旦实用伪静态就失效了。
求解啊。

2011-12-21 11:52:29

#6 none110

我好想找到原因了,但是不知道有没有其他解决方法。
原因是,我伪静态以后,其他页面都在map里设置了,由于我这个提交页面不准备显示内容,所以,我就没在map里做设置,就接不到cookie了。。

这个不知道是我操作反人类的原因,还是可以修改配置来改正。。

2011-12-21 11:56:10

#7 jake

实用非伪静态是正常的,但是一旦实用伪静态就失效了。
求解啊。
none110 发表于 2011-12-21 11:52
应该是域的问题,你可以看看我上面发的php手册的链接,把域设置好。

2011-12-21 12:59:15