0

プログラム ファイル全体でヘッダーを使用する PHP Web アプリケーションに問題があります。具体的には、次のような「error.php」というファイルを作成しました。

        <p><?php 
            $errorCode= $_GET['message'];

            switch($errorCode)
            {
                case "1":
                    echo"<br>Sorry, all input fileds except for apartment number must be completed.<br>";
                    break;
                case "2":
                    echo "<br>You have entered an invalid name format.<br>";
                    break;
                case "3":
                    echo "<br>Name update not successful.<br>";
                    break;
                case "4":
                    echo "<br>Phone number update not successful.<br>";
                    break;
                case "5":
                    echo "<br>You have entered an invalid phone number format.<br>";
                    break;
                case "6":
                    echo "<br>You have entered an invalid street addres format.<br>";
                    break;
                case "7":
                    echo "<br>Apartment number update not successful.<br>";
                    break;
                case "8":
                    echo "<br>City name update not successful.<br>";
                    break;
                case "9":
                    echo "<br>State name update not successful.<br>";
                    break;
                case "10":
                    echo "<br>Zip code update not successful.<br>";
                    break;
                case "11":
                    echo "<br>Email address update not successful.<br>";
                    break;
                case "12":
                    echo "<br>You have entered an invalid email address format.<br>";
                    break;
                case "13":
                    echo "<br>You have entered an invalid password format.<br>";
                    break;
                case "14":
                    echo "<br>Can not find what to update.<br>";
                    break;
                case "15":
                    echo "<br>You have entered an invalid apartment number.<br>";
                    break;
                case "16":
                    echo "<br>You have entered an invalid password format.<br>";
                    break;
                case "17":
                    echo "<br>You have entered an invalid email address format.<br>";
                    break;
                case "18":
                    echo "<br>User not found in the database.<br>";
                    break;
                case "19":
                    echo "<br>User ID not found in database. Login Failure.<br>";
                    break;
        case "20":
            echo "<br>Failed connection to the database.<br>";
            break;
                case "21":
                    echo "<br>Street Address update not successful.<br>";
                    break;
                case "22":
                    echo "<br>User already exists.<br>";
                    break;
                case "23":
                    echo "<br>Failed to create a new user account.<br>";
                    break;
                case "24":
                    echo "<br>You have entered an invalid address format.<br>";
                    break;
                default:
                    echo "<br>You have an unknown error.<br>";
            }
        ?>   </p>    

問題は、アプリケーションの別の場所で次のようなステートメントを使用することです。header("location:/view/error.php?message=21"); など... 常に次のような警告が表示されるため、これが問題であることに気づきました。

"Warning: Cannot modify header information - headers already sent by (output started at /home/content/47/12002447/html/model/userRegistrationAction.php:6)/home/content/47/12002447/html/model/userRegistrationAction.php on line 92"

そして、ほとんどが同じファイルを指しているものがたくさんあります。私の質問は、現在使用している方法と同様の方法でヘッダーを使用して、ページを「error.php」にリダイレクトできる方法はありますか? 「include("error.php?message= 'some #')」は大量のオーバーヘッドが発生するため、使用したくありません。

ご協力いただきありがとうございます。

4

1 に答える 1