1

をチェックするログインページがありusernamepasswordユーザーから提供された資格情報が一致する場合、セッションを設定してユーザーをリダイレクトします。godaddホスティングアカウントで機能しますが、ホスティングをシフトしたところ、突然機能しなくなりました。コード

if (count($result) > 0)
            {               
                $row= mysql_fetch_array($result);
                $userID = $row['userID'];               
                $firstName = $row['FirstName'];         

                $isActive = $row['IsActive'];

                if ($isActive == '1')
                {

                    $_SESSION['user'] = $firstName;     
                    //var_dump($firstName); //it gives me the right username                
                    //echo" - here";  //this also gets echoed
                    header("Location: http://google.com/"); //it just dies silently
                    exit;
                }

私が間違っていた場所を見つけるのを手伝ってください

4

4 に答える 4

2

header() を呼び出す前に何かを出力していますか?

その場合は、ob_start() をスクリプトの先頭に置くか、header() が呼び出される前に何もエコーしていないことを確認してください。

于 2012-04-24T15:48:58.497 に答える
2

ヘッダー タグの前に何も出力しないようにする必要があります。以前は機能していたので、ヘッダーへの呼び出しの前に echo'n を行っているエラーではないと思います。また、出力が表示されないため、空白を出力していると思います。いくつかの空白や非表示の文字がファイルに忍び込む可能性がある場所がいくつかあります:

PHP の開始タグ ( <? or <?php) の前にカーソルを置き、バックスペースを数回押してから、delete を押して を削除して<から、 を再入力し<ます。これにより、ヘッダーの前に非表示の文字がブラウザーに出力されないようになります。

次に、そのファイルに含まれているすべてのファイルを調べて、同じことを行い?>、ファイルの末尾にあるファイルを削除します。これらのファイルに他のファイルが含まれている場合は、これを繰り返します。

于 2012-04-24T15:50:36.073 に答える
1

を使用する場合は、その前に何もしheader()てはなりませんecho

于 2012-04-24T15:48:39.630 に答える
0

ob_start();をスクリプトの先頭に追加し、スクリプトのob_end_flush();最後に追加して、この問題を回避してください。

ob_start(); 出力バッファリングをオンにし、ob_end_flush(); 一番上の出力バッファの内容を送信し、この出力バッファをオフにします。

于 2019-01-18T11:37:09.260 に答える