1

私は現在、悪名高いMinecraft投票システムのコントロールパネルを作成していますが、問題が発生しています。私のコードはXAMPPで正常に機能しますが、Webサーバーでは機能しません。

2ページあります。1つはログインページで、もう1つはインデックスです。ログインページは、SQLデータベースのユーザー情報を取得し、それをチェックしてユーザーをログインさせ、WebサーバーがPHPヘッダーの使用を許可していなかったため、htmlメタリフレッシュを使用してリダイレクトします。

インデックスページには、単に「Welcome$user」と書かれています。これらはすべてXAMPPの魅力のように機能しますが、私のWebサーバーではそれほどうまく機能していません。ログイン時にこのエラーが発生するため、次のようになります。

Warning: Cannot modify header information - headers already sent by (output started at /home/linkycra/public_html/MonlotronCP/login.php:3) in /home/linkycra/public_html/MonlotronCP/login.php on line 136

これがlogin.phpコードです-http ://puu.sh/1IrEu.png

これがindex.phpコードです-http ://puu.sh/1IrF1.png

ありがとうございました!

4

4 に答える 4

1

ヘッダー関数の前にHTMLまたは空白が必要です。確認してください。

于 2013-01-02T12:58:21.477 に答える
0

setcookie()既に HTML をブラウザに送信した後、使用しています。setcookie()は HTTP ヘッダーを送信しますが、フォームの前に既に HTML を送信しているため、エラーになります。setcookie() がトリガーされたときであるため、ログイン時にのみエラーが表示される理由。コンテンツが既にブラウザーに出力されている場合、HTTP ヘッダーを送信することはできません。

あるマシンでは機能し、他のマシンでは機能しなかった理由は、一方がerror_reportingオンまたは表示に設定されていて、もう一方が表示されていないか、エラーレベルが異なるためです。setcookie()コンテンツを出力する前に を実行する<html>コードを再構築する必要があり<!DOCTYPE>ます。

于 2013-01-02T13:20:31.107 に答える
0

output bufferingで解決できますが、タイプミスの場合は代わりに解決する必要があります。

于 2013-01-02T13:20:35.153 に答える
0

このページの例を確認してください: http://php.net/manual/en/function.headers-sent.php

それがどこで起こっているかを追跡するのに役立つかもしれません

于 2013-01-02T13:10:11.750 に答える