我有這個php登錄系統,我在localhost上工作得很好,我買了一個webhotel,現在它不再工作,我找不到它出錯的地方。它不會設置會話?
我沒有得到任何錯誤。
登錄頁面在index.php中,當你登錄時,如果任何事情都沒問題(沒有錯誤/錯誤的密碼等),那麼你將被重定向到home.php。
事實並非如此。當我登錄時,它只是刷新index.php並將其輸出到頂端:
警告:無法修改標頭信息 - httpd.www中的(httpd.www/oBz/index.php:2)已發送的標頭/oBz/index.php 221行
on line 221 there's: header(「Location:home.php」);
好的,所以我通過輸入地址手動去home.php。現在,在home.php我有這樣的頂部:
include 'dbc.php';
page_protect();
echo "HELLO WORLD";
page_protect檢查是否有設置任何會話或餅乾(記得我),但是如果事情已定,你會看到的內容「HELLO WORLD」否則你不會。
但現在當我home.php進入我剛剛收到此:
警告:在session_start()[function.session啓動]:不能發送會話cookie - 頭已經發出(輸出開始httpd.www/oBz/dbc.php:29)在httpd.www/oBz/dbc.php上線69
警告:session_start()[function.session-start]:無法發送會話緩存限制器 - 已發送的頭文件(輸出在httpd.www/oBz/dbc.php:29)在httpd.www/oBz/dbc.php在線69
警告:不能修改標題信息 - 已經發送的標題(輸出在httpd.www/oBz開始/dbc.php:29)在httpd.www/oBz/dbc.php上117
69行theres session_start()
,它是函數page_protect()
中的第一行;
線117個孤單header("Location: index.php")
,是那裏,如果你沒有登錄重定向(會話設置/設置Cookie)
希望我提供的信息不夠,如果不只是評論你需要什麼,我會盡我最好把它提供給你..
謝謝
更新:
這裏是dbc.php:http://phpbin.net/x/999009567
** index.php文件,當您登錄並在會話設置http://phpbin.net/x/1564167411
**更新: 我現在解決了這個頭警告/錯誤,但不是爲會話問題的解決方案!
**更新: phpbin.net/x/25857430更新的dbc.php,之前在dbc.php中的所有html都在一個新的文件top.php中。我包括頂部。php文件在index.php中的doLogin函數部分後,所以沒有得到任何錯誤的頭文件..
***更新:問題是在這裏:http://phpbin.net/x/557713701這就是爲什麼它重定向到index.php所有時間
那麼我們可以看到dbc.php嗎? – spinon 2010-07-27 22:42:38
http://phpbin.net/x/999009567 – Karem 2010-07-27 22:46:41