[請益] session的問題...headers already sent by...

看板PHP作者 (今晚打老虎)時間16年前 (2009/02/27 21:15), 編輯推噓3(3010)
留言13則, 5人參與, 最新討論串1/1
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\test2\check.php:8) in C:\AppServ\www\test2\check.php on line 42 感覺好像很多人都遇過這種問題 每種方法都試過了依然宣告投降= = 因為重灌的關係... 把網頁跟apprserv的編碼都轉成UTF-8以後 就出現了這個問題...(試了灌3種版本的apprserv...2.6.0=>2.5.9=>2.4.8....) 於是我仔細在google大神找了一下問題所在 發現要先把UTF-8編碼所附帶的"BOM"移除~(我也不清楚實際功用) 我也很確信從網路上的方法 在dreamwaver底下確認了每個BOM都取消了 並且到php.ini底下把output_buffering 設為ON 結果還是沒解決.... 有人提出來說把session_start()改成ob_start()看看... 不過網路上又有另外一種說法 說其實在php語法(<?php.... )送出之前就會發出BOM的簽證導致PHP session有問題 所以在網路找到了一個解除BOM的一小段程式碼 看起來好像都解決了 不過程式碼到了header('url')的時候還是會出現 難道UTF-8不能使用session傳遞參數嗎? 一整天下來找這個問題找到我快瘋了>.<... 相信很多大大都遇過這個問題 最後都是怎麼解決的呢?? 還是有其他的傳遞參數到分頁方法?? 跪求各位神人了 如果需要看一下程式碼我可以傳遞給您... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.197.3

02/27 21:17, , 1F
補一下當時找到移除BOM的小程式http://0rz.tw/dDNlG
02/27 21:17, 1F

02/27 22:59, , 2F
我是用UE寫 php 啦,我關掉自動加入 BOM 他還是會幫
02/27 22:59, 2F

02/27 23:00, , 3F
我自動加上..所以你的 DW 大概也是這樣= =
02/27 23:00, 3F

02/27 23:00, , 4F
馬的結果是自己耍笨..設完php.ini沒有restart apachi
02/27 23:00, 4F

02/27 23:00, , 5F
而我自己的解決方式是使用 PSPad 這套
02/27 23:00, 5F

02/27 23:02, , 6F
剛剛板友提醒我一下...才知道ob_start其實也不需要用
02/27 23:02, 6F

02/28 08:02, , 7F
其實ob什麼的buffer都不需要 如果確定沒有BOM
02/28 08:02, 7F

02/28 08:02, , 8F
那就是你的code順序需要調整
02/28 08:02, 8F

02/28 15:05, , 9F
你是怎麼確定你的bom都去除了?~_~
02/28 15:05, 9F

03/01 20:05, , 10F
我最後只動了php.ini的參數修改跟確定從DW關掉BOM
03/01 20:05, 10F

03/01 20:07, , 11F
Dreamwaver>>修改>>頁面屬性>>標題/編碼>>Uni-code簽
03/01 20:07, 11F

03/01 20:07, , 12F
名取消勾選...
03/01 20:07, 12F

06/08 08:56, , 13F
notepad++ 格式->編譯成UTF-8(檔首無BOM) 可以用!!
06/08 08:56, 13F
文章代碼(AID): #19f-T-kA (PHP)
文章代碼(AID): #19f-T-kA (PHP)