作者pael (就是喜欢)
看板PHP
标题[请益] 又是头痛的 session
时间Wed Jun 13 20:02:41 2007
今天自己在写一个购物的网页,碰到了一些问题
网页大致上如下:
Menu ┌────────┐
========= │ │
Category1--XXX.php?Type=1 │ Content │
Category2--XXX.php?Type=2 │ │
Category3--XXX.php?Type=3 │ │
│ │
Login │ │
========= │ │
id:_____ │ │
pass:___ └────────┘
我希望在左下列登入後 除了登入区块变成一些基本资料外 (这部分没问题)
还希望在登入後直至按登出前 点选 Menu 上的其他 Category
登入区块仍可保有已登入的画面
我将一个书上的范例先 run 了一下 没问题
(所以应该不是 php 的一些设定问题吧?)
可是当我自己修改时 首先在 session_start(); 这边就出现了 warning
Warning: session_start() [function.session-start]: Cannot send
session cache limiter - headers already sent (output started at
C:\AppServ\www\Test\shop_show.php:3) in C:\AppServ\www\Test\
shop_show.php on line 5
若删掉 session_start(); 的话 登入後要登出时 session_destroy() 有问题
而且 点选了其他 Category 仍然无法保有已登入区块的样子(得重新登入) @@
感觉这是个很简单很常见的问题 可是弄了半天还是没啥进展
所以特地来请益 还请各位多多包涵小弟的蠢问题 谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.144.41
1F:推 fillano:错误是说,在shop_show.php第三行有内容送出,无法再传送 06/13 22:40
2F:→ fillano:cookie,所以session也出问题,检查一下吧 06/13 22:41
3F:推 knockout:session.cache_limiter = ??? <== 看一下PHP.INI的设定 06/14 11:29
4F:推 knockout:再来有相关的设定就是 output_buffering = 06/14 11:57
5F:→ knockout:错误讯息的意思是:HEADERS已经有送过,被限制无法再送~ 06/14 11:57
6F:→ knockout:所以要查一下SESSION CASHE_LIMIT的设定及BUFFER的设定 06/14 11:59
7F:推 pael:首先要感谢各位前辈的指教 问题已解决 我也不知道怎麽弄的 06/14 12:30
8F:→ pael:不过又有新的问题产生,现在反倒是 session_destroy() 出问题 06/14 12:31
9F:→ pael:目前我的 php.ini 设定如下: 06/14 12:32
10F:→ pael:session.cache_limiter = nocache 06/14 12:32
11F:→ pael:output_buffering = Off 06/14 12:32
12F:→ pael:session.auto_start = 0 06/14 12:32
13F:→ pael:session.use_cookies = 1 06/14 12:33
14F:→ pael:session.cookie_lifetime = 0 06/14 12:33
15F:→ pael:Warning: Cannot modify header information - headers alrea 06/14 12:34
16F:→ pael:sent by (output started at C:\AppServ\www\Test\Test.php:3 06/14 12:34
17F:→ pael:) in C:\AppServ\www\Test\shop_src.php on line 50 06/14 12:35
18F:→ pael:上面是错误讯息 shop_src.php 的50行正是 session_destroy() 06/14 12:35
19F:推 knockout:output_buffering = 4096 试试 06/14 12:37
20F:推 pael:阿 抱歉 问题不是出在 session_destroy() 的样子 06/14 12:40
21F:→ pael:而是 header("Location: XXXXXXXXXXXXXXX.php"); 的地方 06/14 12:41
22F:推 pael:爬了一下文章 看到前面也有人问 header 的相关问题 应有解 06/14 12:50
23F:→ pael:再次感谢大大的相助 而且回文好快呀!呵~ ^^ 06/14 12:51