LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 836|回复: 10

偶真笨啊……55

[复制链接]
发表于 2005-4-7 10:34:23 | 显示全部楼层 |阅读模式
:beat  :beat  :beat  :beat
今天学习php的cookie,结果开始是放在head里的,后来放在head前,最最后,发现还得放在最最前面才行的……

真的是前面什么都不能有。

寒自己……
发表于 2005-4-7 10:40:09 | 显示全部楼层
setcookie不是放在最前,而是要放在输出任何东西之前。即便你前边做了一大坨的数据库操作,只要不输出东西就行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-7 11:10:24 | 显示全部楼层
Post by fundawang
setcookie不是放在最前,而是要放在输出任何东西之前。即便你前边做了一大坨的数据库操作,只要不输出东西就行。


可是我的前面只是这样的东东啊。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
都不行!!
回复 支持 反对

使用道具 举报

发表于 2005-4-7 11:19:05 | 显示全部楼层
Post by hutigers
可是我的前面只是这样的东东啊。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
都不行!!


setcookie要放在這些之前
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-7 11:54:25 | 显示全部楼层
Post by luoyong
setcookie要放在這些之前


就是说啊。那个已经是我的最最前面了。
  
回复 支持 反对

使用道具 举报

发表于 2005-4-7 12:21:44 | 显示全部楼层
Post by hutigers
就是说啊。那个已经是我的最最前面了。
  

setcookie需要通过http-header发出的,
如果有任何内容输出的话,http-header已经发出了,
自然也就不能setcookie了,类似的还有session。

此外,编辑这样的页面的时候,千万不要把页面设置成utf8。
因为utf8的页面前两个字节会放置标志位(用vi和emacs都看不到的,因为这两个标志位就是用来表示后面的页面是utf8编码的。只有用hexedit才能看到。)
因此,如果用utf8编码的话,你永远也无法把setcookie放到最前面(最前面的当然是那两个标志位了)。然后八成就会因为不知道哪里出错而发疯。嘿嘿。
回复 支持 反对

使用道具 举报

发表于 2005-4-7 12:49:29 | 显示全部楼层
to: 老虎
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
就已经是输出了


看来还是用过 CGI 的人更熟悉了


to: savagePig
似乎只有 Windows 下的记事本这些用标志位

我的 Debian 里的没有用标志位的

我的 PHP 就是 UTF-8 的

nbx 的也是

没有问题
回复 支持 反对

使用道具 举报

发表于 2005-4-7 12:55:33 | 显示全部楼层
Post by savagePig

此外,编辑这样的页面的时候,千万不要把页面设置成utf8。
因为utf8的页面前两个字节会放置标志位(用vi和emacs都看不到的,因为这两个标志位就是用来表示后面的页面是utf8编码的。只有用hexedit才能看到。)
因此,如果用utf8编码的话,你永远也无法把setcookie放到最前面(最前面的当然是那两个标志位了)。然后八成就会因为不知道哪里出错而发疯。嘿嘿。

可以设置编辑器是否自动添加 BOM,并且一般只有 windows 下的编辑器会那样做
回复 支持 反对

使用道具 举报

发表于 2005-4-7 13:02:12 | 显示全部楼层
最好用utf8,bom位一般可以通過設置解決的。。。
回复 支持 反对

使用道具 举报

发表于 2005-4-7 13:30:50 | 显示全部楼层
Linux 下几乎所有编辑器 ,Windows 下几个专业的编辑器都不加 Bom位
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表